导出到excel,创建excel初始化失败(50分)

  • 主题发起人 主题发起人 lanxy
  • 开始时间 开始时间
L

lanxy

Unregistered / Unconfirmed
GUEST, unregistred user!
function funtxttoexcel(excelFile: pchar; txtfile: pchar): boolean; stdcall;
var
x, y, Number, i: integer;
tx, srcstr: string;
vExcel, FWorkBook: Variant;
tl: Tstringlist;
begin
result := false;
tx := string(txtfile);
try
vExcel := CreateOleObject('Excel.Application');//错在这里,为什么呢?
except
FuncShowMessage(Application.Handle, '您还未安装OFFICE EXCEL软件!', 2);
exit;
end;
tl := tstringlist.Create;
vExcel.Visible := false;
FWorkBook := vExcel.WorkBooks.Add;
vExcel.WorkSheets[1].Activate;
try
tl.LoadFromFile(tx);
y := 1;
x := 1;
Number := tl.Count;
while not (Number = 0) do
begin
i := 0;
srcstr := tl.Strings;
while not (SrcStr = '') do
begin
vExcel.Cells[y, x] := GetNextStr(srcstr);
inc(x);
end;
x := 1; //换行后初始化列
inc(y);
inc(i);
dec(Number);
end;
finally
vExcel.Columns.AutoFit;
FWorkBook.SaveAs(tx);
vExcel.WorkBooks.Close;
vExcel.Quit;
tl.Free;
end;
end;
eolesyserror with message 未调用coinitialize ...
 
在uses里面加入ComObj
 
加了的啊,也是出错
 
initialization
CoInitialize(nil);
finalization
CoUninitialize;
应该是这样调用!
 
该楼上领分。
 
才完成了一点东西.

哈哈, 我用流方式直接写文件,

速度快. 50000行数据.1.4秒完成
 
后退
顶部