C ++ Builder DBGrid导出到xlsx文件中的Excel

时间:2017-08-04 08:21:59

标签: c++ excel delphi c++builder

之前,我总是使用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);

}

1 个答案:

答案 0 :(得分:1)

我不喜欢发布一个建议使用其他第三方库的答案,但在这种情况下它可能是合适的。

请参阅:http://www.scalabium.com/sme/

这是一个可以将数据库数据从Delphi应用程序导出为各种格式(包括Excel文件格式)的库。它不使用COM,因此不受Excel的COM实现限制,但我不确定TXLSWorkBook是否使用COM。 AFAIK,SMExport直接写入Excel格式文件。

有一个试用版,iirc。