delphi aynı excel belgesi içine sayfa sayfa export
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
delphi aynı excel belgesi içine sayfa sayfa export
Merhaba;
Projede 3 fakrlı gird içeriğindeki verileri excel xlsx formatında aynı belge içerisinde 3 sayfa olarak export etmek istiyorum girddeki satırları tektet döngü ile yapmıştım ancak çok uzun sürüyor .
Bana daha hızlı olan ExportGridToExcel(SaveDialog1.FileName,cxgrid1,true,true,true,'xlss'); gibi yöntem ile hızlıca atmak istiyorum. Bu kodda açık olan belgeye ekleme yapılabilir mi ? yada export ederken daha önce var olan bir excel belgesi içerisine yeni sayfa olarak eklenebilirmi ?
teşekkürler
Projede 3 fakrlı gird içeriğindeki verileri excel xlsx formatında aynı belge içerisinde 3 sayfa olarak export etmek istiyorum girddeki satırları tektet döngü ile yapmıştım ancak çok uzun sürüyor .
Bana daha hızlı olan ExportGridToExcel(SaveDialog1.FileName,cxgrid1,true,true,true,'xlss'); gibi yöntem ile hızlıca atmak istiyorum. Bu kodda açık olan belgeye ekleme yapılabilir mi ? yada export ederken daha önce var olan bir excel belgesi içerisine yeni sayfa olarak eklenebilirmi ?
teşekkürler
Re: delphi aynı excel belgesi içine sayfa sayfa export
Tekrar merhaba;
Forumda dolaşırken aşağıdaki konuyu buldum tam istediğim noktaya değinmiş
viewtopic.php?t=20753
kodu projeye uyguladım inavlit variant operation ve bir çok hata aldım acaba belgeler xlsx formatında olması mı sorun oldu yada kodu çalıştırmak için farklı kodlara mı ihityaç var ... teşekkürler
Forumda dolaşırken aşağıdaki konuyu buldum tam istediğim noktaya değinmiş
viewtopic.php?t=20753
Kod: Tümünü seç
/ EDIT // Açtığın başlıkta bir başka Excel dosyasına demişsin onu görmemişim.
Her iki excel dosyası bağımsız WorkBook olarak açılırlar bunu bilirsin. Onların isimlerini veya indexlerini belirterek adresleme yapılır. Aynı kopyalama komutu aşağıdaki gibi işler...
Var
Excel : OleVariant;
begin
Excel := GetActiveOleObject('Excel.Application');
Excel.WorkBooks['Kitap1'].Sheets['Sayfa1'].Copy(After:=Excel.WorkBooks['Kitap2'].Sheets['Sayfa1']);
Excel := UnAssigned;
end;
Re: delphi aynı excel belgesi içine sayfa sayfa export
Excelin yardımlarınada var ama kodlar vb ye göre bu kodları delphiye nasıl uyarlayablirim.
https://www.ablebits.com/office-addins- ... excel-vba/
Kod: Tümünü seç
Excel VBA to copy sheet to another workbook
Depending on where you want to insert the copied sheet, use one of the following macros.
Copy sheet to the beginning of another workbook
This macro copies the active sheet before all other worksheets in the destination file, Book1 in this example. To copy to another file, replace "Book1.xlsx" with the full name of your target workbook.
?
Public Sub CopySheetToBeginningAnotherWorkbook()
activeSheet.Copy Before:=Workbooks("Book1.xlsx").Sheets(1)
End Sub
Copy sheet to the end of another workbook
This piece of code duplicates the active worksheet and places the copy to the end of Book1. Again, please remember to replace "Book1.xlsx" with the name of your destination workbook.
?
Public Sub CopySheetToEndAnotherWorkbook()
activeSheet.Copy After:=Workbooks("Book1.xlsx").Sheets(Workbooks("Book1.xlsx").Worksheets.Count)
End Sub
Excel VBA to copy sheet from another workbook without opening
This macro enables you to copy a worksheet from another Excel file without opening it. The copied sheet will be inserted at the end of the current workbook.
Just remember to make a couple of replacements in the code:
C:\Users\XXX\Documents\Target_Book.xlsx should be changed to the actual path and name of the workbook from which you want to copy a sheet.
Sheet1 should be replaced with the name of the sheet you want to copy.
?
Public Sub CopySheetFromClosedWorkbook()
Dim sourceBook As Workbook
Application.ScreenUpdating = False
Set sourceBook = Workbooks.Open("C:\Users\XXX\Documents\Target_Book.xlsx")
sourceBook.Sheets("Sheet1").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
sourceBook.Close
Application.ScreenUpdating = True
End Sub
Re: delphi aynı excel belgesi içine sayfa sayfa export
Sanırım konu hakkında kimsenin fikri yok.
Devexpressin sitesinde C# için bu konuya örnek vermiş ama bu kodu delphiye uyarlayamadım.
https://supportcenter.devexpress.com/Ti ... excel-file
Devexpressin sitesinde C# için bu konuya örnek vermiş ama bu kodu delphiye uyarlayamadım.
Kod: Tümünü seç
CompositeLink complink = new CompositeLink(new PrintingSystem());
PrintableComponentLink link = new PrintableComponentLink();
link.Component = gridControl1;
complink.Links.Add(link);
//...
complink.CreatePageForEachLink();
complink.ExportToXlsx("test.xlsx", new XlsxExportOptions() { ExportMode = XlsxExportMode.SingleFilePageByPage });
Re: delphi aynı excel belgesi içine sayfa sayfa export
For ile yapabilirsiniz ve çok uzun sürmez. Verileri nereden çekiyorsunuz. BeginUpdate EndUpdate komutlarını araştırın.
PostgreSQL - Delphi - Linux 

Re: delphi aynı excel belgesi içine sayfa sayfa export
For döngüsü ile exele hücre hücre daha önce yazdığım bir proje var gridi tek tek okuyup yazdığı için griddeki sayfa sayısına göre uzun sürüyor. BAzı gird de 2000 satır olabiliyor. Veriler SQL ile query den çekilip cxgrid de gösteriliyor.3ddark yazdı: 11 Nis 2020 09:24 For ile yapabilirsiniz ve çok uzun sürmez. Verileri nereden çekiyorsunuz. BeginUpdate EndUpdate komutlarını araştırın.
Re: delphi aynı excel belgesi içine sayfa sayfa export
2000 çok büyük bir sayı değil dediğim gibi BeginUpdate EndUpdate komutlarını araştırın.
PostgreSQL - Delphi - Linux 

Re: delphi aynı excel belgesi içine sayfa sayfa export
Merhaba önerinizi uygulamayı düşünüyorum kodlarım hazır zaten ama bu begin update ile ilgili webde çok açıklayıcı bir makale yada döküman bulamadım nedir bu beginupdate in faydası ?? Yaptığı iş nedir??;3ddark yazdı: 11 Nis 2020 09:58 2000 çok büyük bir sayı değil dediğim gibi BeginUpdate EndUpdate komutlarını araştırın.
Bazı kodlarda direk blok olarak kullanılmış
Beginupdate
.....
Endupdate gibi bazı kodlarda nesenin içerisinde kullanılmış
Combobox.item.beginupdate
......
Combobax.item.endupdate gibi
Benim hangi yöntenmi kullanmam daha doğru olur
Tabi beginupdate mantığını öğretmekte isterim nerelerde kullanmak lazım belkide bir çok farklı yerde kullanırız birde dezavantajı varmıdır tşk