ورود

View Full Version : سوال: خروجی اکسس به اکسل با فرمتی مرتب



Mohsen0025
چهارشنبه 08 مرداد 1393, 22:24 عصر
با عرض سلام و خسته نباشدی.
آقا کدی هست که با دیتاگرید سازگار باشه و چیزهایی که در دیتا گرید هست رو به اکسل با فرمتی قشنگ و خوشگل بفرسته؟؟؟؟؟؟
با تشکر:بوس:

karasystem
پنج شنبه 09 مرداد 1393, 08:30 صبح
سلام

میتونید از این کد برای گرفتن خروجی رکوردست به اکسل استفاده کنید.

Dim xl As Excel.Application

Private Sub Command1_Click()

Set xl = New Excel.Application

With xl

.Workbooks.Add
.Worksheets(1).Name = "تست"
Call .ActiveSheet.Range("A1").CopyFromRecordset(Adodc1.Recordset)
.Visible = True

End With

End Sub

ایلیا آخوندزاده
پنج شنبه 09 مرداد 1393, 09:32 صبح
با این کد آیا میشه اندازه فیلد های excel رو تظیم کرد؟

Mohsen0025
جمعه 10 مرداد 1393, 12:51 عصر
با عرض سلام،،
خودم همچین کدی دارم یه چند تا دیگه هم دارم اما یا به صورت نا مرتب میریزن تو اکسل یا همینطوری هرچی که تو اکسس هست رو همه رو جمع میکنن و میریزن تو اکسل!!!! میخوام فقط همونی که توصفحه هست بره تو اکسل یا خودم انتخاب کنم بگم این فیلد یا این یکی و...
تشکر:بوس:

ایلیا آخوندزاده
شنبه 15 شهریور 1393, 11:43 صبح
Dim oExcel As ObjectDim oBook As ObjectDim oSheet As Object


Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Dim RS As Long
RS = Adodc1.Recordset.RecordCount
ReDim DataArray(1 To RS, 1 To 3) As Variant

Dim r As Integer
Dim NumberOfRows As Integer
NumberOfRows = Adodc1.Recordset.RecordCount
Adodc1.Recordset.MoveFirst

For r = 1 To NumberOfRows
DataArray(r, 1) = Adodc1.Recordset.Fields("name")
DataArray(r, 2) = Adodc1.Recordset.Fields("Date")
DataArray(r, 3) = Adodc1.Recordset.Fields("meli_code")



Adodc1.Recordset.MoveNext
Next
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:c1").Font.Bold = True


oSheet.Range("A1 :c1").Value = Array("äáã æ äáã ÎÇäæÇϐí", "ÊÇÑíÎ ËÈÊ", "˜Ïãáí")



oSheet.Range("A2").Resize(NumberOfRows, 3).Value = DataArray

oBook.SaveAs "c:\report.xls"
oExcel.Quit
Adodc1.Recordset.MoveFirst


MsgBox "Report File Saved", 64, "Info"

ایلیا آخوندزاده
شنبه 15 شهریور 1393, 11:45 صبح
کد ها به ترتیب از لاین 4 تا 39 میباشد.