之前,我总是使用TXLSWorkbook和SaveDialog从DBGrid导出excel(.xls)。
但是,现在导出的数据太大,.xls文件无法填充所有数据。
我尝试导出.xlsx文件,但TXLSWorkbook似乎不支持.xlsx文件。
当我打开.xlsx文件时,错误消息表明文件已损坏。
我是否遗漏了某些内容,或者我必须找到另一种导出.xlsx文件的方式?
这是我的代码。谢谢观看。 的 的
的TXLSWorkbook *WorkBook;
IXLSWorksheet *WorkSheet;
IXLSRange *Cells;
int Row;
TDateTime dt=Now();
String date = dt;
date = FormatDateTime("yyyymmdd",date);
FileName = date+".xls";
WorkBook = new TXLSWorkbook();
WorkSheet = WorkBook->Sheets->Add();
Cells = WorkSheet->Cells;
.
.
.
(input item to Cells...)
.
.
.
SaveDialog1->FileName = FileName;
if( SaveDialog1->Execute() == true ) {
WorkBook->SaveAs(SaveDialog1->FileName);
}
的
答案 0 :(得分:1)
我不喜欢发布一个建议使用其他第三方库的答案,但在这种情况下它可能是合适的。
请参阅:http://www.scalabium.com/sme/
这是一个可以将数据库数据从Delphi应用程序导出为各种格式(包括Excel文件格式)的库。它不使用COM,因此不受Excel的COM实现限制,但我不确定TXLSWorkBook是否使用COM。 AFAIK,SMExport直接写入Excel格式文件。
有一个试用版,iirc。