问题可以解决的
看看代码吧:
uses
OleServer,Excel2000,Comobj;
procedure TForm1.Button1Click(Sender: TObject);
var
ExcelApp1,MyWorkBook1,myworksheet1: OLEVariant;
col1,row1:integer;
i,j,k:integer;
begin
with DM do
begin
adotable2.Active:=True;
try
ExcelApp1:=CreateOleObject('Excel.Application');
MyWorkBook1:=CreateOleobject('Excel.Sheet');
except
application.Messagebox('无法打开Xls文件,请确认已经安装EXCEL.','', mb_OK+mb_IconStop);
Exit;
end;
ExcelApp1.Visible := false;
if OpenDialog1.Execute then
begin
try
MyworkBook1:= ExcelApp1.workBooks.Open(openDialog1.FileName);
except
Application.MessageBox('你没有选中表','',mb_ok+mb_iconstop);
exit;
end;
end;
myworksheet1:=ExcelApp1.workbooks[1].worksheets[1];
col1:=myworksheet1.usedrange.columns.count;
row1:=myworksheet1.usedrange.rows.count;
i:=1;
j:=1;
//k:=1;
For i:=1 to row1 do
begin
adotable2.Append;
For j:=1 to col1 do
begin
adotable2.Edit;
adotable2.Fields[j].Value:=myworksheet1.cells[i,j].value;
adotable2.post;
//j:=j+1;
//k:=k+1;
end;
//i:=i+1;
end;
//showmessage('col1 is :'+IntToStr(col1)+'row1 is :'+IntToStr(row1));
Application.ProcessMessages;
ExcelApp1:=Unassigned;
MyworkBook1.close;
end;
showmessage('客档数据导入成功');
end;