一般涉及到EXCEL都是提前做好一个EXCEL模板,然后导出的时候直接将模板复制成一个新文件,然后在新文件里操作 var ExcelA:OleVariant;ExcelA:=CreateOleObject('Excel.Application'); 使用这个实现具体的内容输入输出,很简单,如果要设计到图表的话,就比较麻烦了,因为OLEVariant是不能断点调试的
cxGrid确实好用,代码如下:use cxExportGrid4Linkprocedure btnExportClick(Sender: TObject); var FileName: String; begin SaveDialog1.Filter := 'Microsoft Excel 文件|*.xls'; if not SaveDialog1.Execute then exit; FileName := SaveDialog1.FileName; ExportGrid4ToExcel(FileName, cxGridExp); end;
ExcelA:OleVariant;ExcelA:=CreateOleObject('Excel.Application');在这句以后的所有代码都不会自动提示了,也不知道为什么?
ExcelA:OleVariant;ExcelA:=CreateOleObject('Excel.Application');
这个是不会自动提示呀,类都变成这个了OleVariant,它咋个提示嘛
ExcelApp.Disconnect;
ExcelApp.Quit;在 ExcelApp.Disconnect;
前面添加保存代码
var
ExcelA:OleVariant;ExcelA:=CreateOleObject('Excel.Application');
使用这个实现具体的内容输入输出,很简单,如果要设计到图表的话,就比较麻烦了,因为OLEVariant是不能断点调试的
在D7的程序中,在导出Excel时,可以用鼠标滚轮移动Excel中的显示位置。在D2010的程序中,则不行,一移动就会报错,不再导出了。
就是一个非常好的控件,或者直接用 TCXGRID的导出功能。
var FileName: String;
begin
SaveDialog1.Filter := 'Microsoft Excel 文件|*.xls';
if not SaveDialog1.Execute then exit;
FileName := SaveDialog1.FileName;
ExportGrid4ToExcel(FileName, cxGridExp);
end;