关于从Excel中导入数据的问题
各位高手,我有一个3000行,27列的Excel表,想将表中数据导入到数据库中,代码如下,我遇到的问题是:1。数据读入速度慢,一分钟只能读100条数据;2。当读取数据超过1000条后,Excel停止响应,程序提示远程访问失败。请各位高手指点。
procedure ;
var
i,j:integer;
begin
//先连接Excel应用程序
try
ExcelApplication1.Connect;
except
on EAccessViolation do
begin
Showmessage('对象无法连接,请检查系统中是否正确安装了MS Excel');
Exit;
end;
end;
//连接到Excel工作簿
try
Excelworkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
except
on EAccessViolation do
begin
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Workbooks.Add(null,0);
end;
end;
if MessageDlg('已经启动Excel,是否确定拷贝数据到数据表?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
Excelworkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
//连接到Excel工作表
Excelworksheet1.ConnectTo(Excelworkbook1.Activesheet as _worksheet);
for i:=1 to 3000 do
begin
ADOQuery1.Append;
for j:=1 to 27 do
ADOQuery1.Fields[j-1].AsString:=ExcelWorkSheet1.Cells.Item[i,j];
ADOQuery1.Post;
end;
end;
end;