如何用delphi读取excel的数据,并查找特定的值,求救!!!!!!!! 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ExcelWorksheet1: TExcelWorksheet;procedure TFrmInsertCustominfoForImport.BitBtnNewClick(Sender: TObject);var FObjID: TGuid; i,j: integer;begin //inherited; OpenDialog1.DefaultExt:= 'xls'; OpenDialog1.FileName:= '*.xls'; OpenDialog1.Filter:= 'xls files (*.xls)|*.xls'; if OpenDialog1.Execute then begin try ExcelApplication1.Connect; except Application.Messagebox('无法打开xls文件,请确认已经安装Microsoft Excel.','', mb_OK+mb_IconStop); ExcelApplication1.Quit; Exit; end; end; //ExcelApplication1.Visible[0]:=True; try ExcelApplication1.Workbooks.Open(OpenDialog1.FileName, null,null,null,null,null,null,null,null,null,null,null,null,0);//打开指定的EXCEL 文件 except ExcelApplication1.Disconnect;//出现异常情况时关闭 ExcelApplication1.Quit; //SetMessage('请选择EXCEL电子表格!'); Exit; end; try try ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);//ExcelWorkbook1与Eexcelapplication1建立连接 ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet); i:= 3; while Trim(ExcelWorksheet1.Cells.Item[i+1,1])<>'' do begin with cdsMasterInsData do begin CreateGUID(FObjID); Append; for j:= 1 to 37 do begin if Trim(ExcelWorksheet1.Cells.Item[i+1,1])<>'' then case j of 1: begin FieldByName('ObjID').AsString:= GUIDToString(FObjID); FieldByName('Code').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); FieldByName('EnterCode').AsString:= EnterpriseID; FieldByName('CreatorCode').AsString:= OperatorCode; FieldByName('IsValid').AsInteger:= 1; FieldByName('TranStatus').AsInteger:= 1; end; 2: FieldByName('custom_id').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 3: FieldByName('Name').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 4: FieldByName('Mphone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 5: FieldByName('HomePhone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 6: FieldByName('CompanyPhone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 7: FieldByName('OtherPhone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 8: FieldByName('areacode').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 9: FieldByName('province').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 10: FieldByName('city').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 11: FieldByName('place').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 12: FieldByName('addr').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 13: FieldByName('email').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 14: FieldByName('mailcode').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 15: FieldByName('bindkindid').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 16: FieldByName('cuspropty').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 17: FieldByName('Sex').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 18: FieldByName('culture').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 19: FieldByName('Birthday').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 20: FieldByName('ownerage').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 21: FieldByName('Occupation').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 22: FieldByName('vocation').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 23: FieldByName('hobby').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 24: FieldByName('weddate').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 25: FieldByName('CusValues').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 26: FieldByName('VisitNum').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 27: FieldByName('wedded').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 28: FieldByName('CustomType').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 29: FieldByName('isVip').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 30: FieldByName('VipNo').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 31: FieldByName('MsgServicesStatus').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 32: FieldByName('bindlevelid').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 33: FieldByName('linkman').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 34: FieldByName('linkphone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 35: FieldByName('LinkAddr').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 36: FieldByName('CompanyAddr').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); 37: FieldByName('IsVisitOut').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]); end end; Post; end; i:= i+1; end; except ExcelApplication1.Disconnect; ExcelApplication1.Quit; raise; end; finally ExcelApplication1.Disconnect; ExcelApplication1.Quit; end;end;一段列子,实现的方式都差不多 ExcelWorksheet1.Cells.Item[i+1,1]就是指定单元的值,应该明白了吧。 大哥,大姐, mxOutlookBarPro 怎么做成数据库形式的 ? AstaClientDataSet的GetNextPacket问题 在线等:请教牛人牛人高手...来者可能有分 请问这样的校验码是怎样算出来的? 纪念家驹 求教高手,数据库中text字段的值怎么用Table插入? 这句语句怎么写才对? 关于SQL语句 我是delphi的初学者,可以告诉我,入门看什么样的书比较好!谢谢! 如何用一个table控件动态连接多个数据库表,急!急!急! 帮帮忙! 串口通信! delphi
procedure TFrmInsertCustominfoForImport.BitBtnNewClick(Sender: TObject);
var
FObjID: TGuid;
i,j: integer;
begin
//inherited;
OpenDialog1.DefaultExt:= 'xls';
OpenDialog1.FileName:= '*.xls';
OpenDialog1.Filter:= 'xls files (*.xls)|*.xls';
if OpenDialog1.Execute then begin
try
ExcelApplication1.Connect;
except
Application.Messagebox('无法打开xls文件,请确认已经安装Microsoft Excel.','',
mb_OK+mb_IconStop);
ExcelApplication1.Quit;
Exit;
end;
end;
//ExcelApplication1.Visible[0]:=True;
try
ExcelApplication1.Workbooks.Open(OpenDialog1.FileName,
null,null,null,null,null,null,null,null,null,null,null,null,0);//打开指定的EXCEL 文件
except
ExcelApplication1.Disconnect;//出现异常情况时关闭
ExcelApplication1.Quit;
//SetMessage('请选择EXCEL电子表格!');
Exit;
end;
try
try
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);//ExcelWorkbook1与Eexcelapplication1建立连接
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet); i:= 3;
while Trim(ExcelWorksheet1.Cells.Item[i+1,1])<>'' do begin
with cdsMasterInsData do begin
CreateGUID(FObjID);
Append;
for j:= 1 to 37 do begin
if Trim(ExcelWorksheet1.Cells.Item[i+1,1])<>'' then
case j of
1: begin
FieldByName('ObjID').AsString:= GUIDToString(FObjID);
FieldByName('Code').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
FieldByName('EnterCode').AsString:= EnterpriseID;
FieldByName('CreatorCode').AsString:= OperatorCode;
FieldByName('IsValid').AsInteger:= 1;
FieldByName('TranStatus').AsInteger:= 1;
end;
2: FieldByName('custom_id').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
3: FieldByName('Name').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
4: FieldByName('Mphone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
5: FieldByName('HomePhone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
6: FieldByName('CompanyPhone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
7: FieldByName('OtherPhone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
8: FieldByName('areacode').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
9: FieldByName('province').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
10: FieldByName('city').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
11: FieldByName('place').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
12: FieldByName('addr').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
13: FieldByName('email').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
14: FieldByName('mailcode').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
15: FieldByName('bindkindid').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
16: FieldByName('cuspropty').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
17: FieldByName('Sex').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
18: FieldByName('culture').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
19: FieldByName('Birthday').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
20: FieldByName('ownerage').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
21: FieldByName('Occupation').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
22: FieldByName('vocation').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
23: FieldByName('hobby').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
24: FieldByName('weddate').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
25: FieldByName('CusValues').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
26: FieldByName('VisitNum').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
27: FieldByName('wedded').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
28: FieldByName('CustomType').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
29: FieldByName('isVip').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
30: FieldByName('VipNo').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
31: FieldByName('MsgServicesStatus').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
32: FieldByName('bindlevelid').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
33: FieldByName('linkman').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
34: FieldByName('linkphone').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
35: FieldByName('LinkAddr').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
36: FieldByName('CompanyAddr').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
37: FieldByName('IsVisitOut').AsString:= Trim(ExcelWorksheet1.Cells.Item[i+1,j]);
end
end;
Post;
end;
i:= i+1;
end;
except
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
raise;
end;
finally
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
end;
end;
一段列子,实现的方式都差不多