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

之前,我总是使用TXLSWorkbook和SaveDialog从DBGrid中导出excel(.xls)。

但是,现在导出的数据太大,.xls文件无法填充所有数据。

我试图导出.xlsx文件,但TXLSWorkbook似乎并不支持.xlsx文件。

当我打开.xlsx文件时,错误消息表示文件已损坏。

我错过了什么,或者我必须find另一种方式来导出.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); } 

我不喜欢发布一个答案,这是一个build议使用另一个第三方库,但在这种情况下,这也许是适当的。

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

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

有一个试用版,iirc。