我用OLE方法将StringGrid中的数据导出到Excel文件中,导出过程中不理它,一切正常;如果在导出过程中,我打开其他无关的Excel文件时,就会在这个文件中显示数据的写入过程,
同时也会新打开一个Excel文件(OLE正常写入的文件),
此时,这两个文件哪个在最前端,就往哪个文件中写数据,没写的地方就是空白。
请问有没有可以让他们之间互不影响的方法。谢谢!以下是相关代码: ExcelApp := CreateOleObject('Excel.Application');
WorkBook := CreateOleObject('Excel.Sheet');
WorkBook := ExcelApp.WorkBooks.Add; rowcount := StringGrid1.RowCount;
colcount := StringGrid1.ColCount; for ARow := 0 to rowcount - 1 do
begin
for ACol := 0 to colcount - 1 do
begin
ExcelApp.Cells[ARow + 1, ACol + 1].value := StringGrid1.Cells[ACol, ARow];
end;
end; WorkBook.SaveAs(fileName);
WorkBook.Close;
ExcelApp.Quit;
同时也会新打开一个Excel文件(OLE正常写入的文件),
此时,这两个文件哪个在最前端,就往哪个文件中写数据,没写的地方就是空白。
请问有没有可以让他们之间互不影响的方法。谢谢!以下是相关代码: ExcelApp := CreateOleObject('Excel.Application');
WorkBook := CreateOleObject('Excel.Sheet');
WorkBook := ExcelApp.WorkBooks.Add; rowcount := StringGrid1.RowCount;
colcount := StringGrid1.ColCount; for ARow := 0 to rowcount - 1 do
begin
for ACol := 0 to colcount - 1 do
begin
ExcelApp.Cells[ARow + 1, ACol + 1].value := StringGrid1.Cells[ACol, ARow];
end;
end; WorkBook.SaveAs(fileName);
WorkBook.Close;
ExcelApp.Quit;
http://blog.csdn.net/jinjazz/archive/2008/08/04/2766356.aspx
http://blog.csdn.net/jinjazz/archive/2008/08/01/2753869.aspx另外还可以用xml文件结构
http://blog.csdn.net/jinjazz/archive/2008/08/04/2766203.aspx如果要用excelapp的com组件也可以不循环用ado写excel
http://blog.csdn.net/jinjazz/archive/2008/08/06/2775725.aspx
用querytable写excle
http://blog.csdn.net/jinjazz/archive/2008/08/05/2770632.aspx
方法很多,循环是最差的办法
to 2 楼 jinjazz :谢谢!我看Java部分的代码,但不知道16进制部分是什么意思?