急急急, Excel的导入问题,请高手进,分值全部奉上,200分!!(200分)

  • 主题发起人 主题发起人 ztm0223
  • 开始时间 开始时间
Z

ztm0223

Unregistered / Unconfirmed
GUEST, unregistred user!
请问大家,如何用delphi控制Excel的导入问题,现在我一点头绪也没有!
(不是从导出到Excel,而是其逆过程)(在程序中,我得动态选择Excel文件
,所以Excel数据源是不确定的,所以用Ado连接时,不能与Access一样当表使用)
 
问题不清楚,请详细描述。
是想读出Excel中的数据吗?
。。。。。
 
我已经知道如何读写xls文件了,而且也实现了导入功能,但是还有一个难题:
比如说我的表名为:personal_info:含以下几个字段:姓名,性别,编号,地址,
工作单位,联系电话,电子邮件,Excel文件中只有姓名,地址,工作单位(这几
个字段顺序不固定)这几个
字段的信息,我的问题是:如何编程实现让excel文件中的字段与表中的字段
相同的信息导入到相应的表中。谢谢您!!
 
仅供参考:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j,k: integer;
begin
try
ExcelApplication1.Connect;
except
MessageDlg('Excel may not be installed',
mtError, [mbOk], 0);
Abort;
end;
ExcelApplication1.Visible[0] := True;
ExcelApplication1.Caption := 'Excel Application';
ExcelApplication1.Workbooks.Add(Null, 0);
ExcelWorkbook1.ConnectTo
(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo
(ExcelWorkbook1.Worksheets[1] as _Worksheet);
Table1.Open;
for i := 1 to Table1.FieldCount do
begin
for j:=1 to ExcelWorksheet1.usedRange.columns.count do
if ExcelWorksheet1.Cells.Item[1, j]=Table1.Fields[i-1].FieldName then
for k:=2 to ExcelWorksheet1.usedRange.rows.count do begin
if i=1 then
Table1.append
else
begin
Table1.edit;
if k=2 then Table1.first
else Table1.next;
end;
Table1.fields[i - 1].AsString:=ExcelWorksheet1.Cells.Item[k, j];
end;
end;
end;
Table1.post;
Table1.close;
end;
 
Excel 导入导出,方法好多
1、ole/comobject/...
2、dde
3、直接读Excel/cvs文件
4、ADO
 
多人接受答案了。
 

Similar threads

后退
顶部