delphi中如何把excel中的数据导入access数据库中,求原程序
解决方案 »
- 有时候查到一个WIN32API函数,但在却不知道在哪个单元申明的,怎么引用那个单元呀?
- dxTreeList如何定位?
- 急!!!怎样在Richedit控件中屏蔽Ctrl+V,Ctrl+C等组合键???
- 怎么样使程序运行时,treeview里面的列自动展开,现在运行时没有展开,只有点了+号后才展开
- provider 中的export <name> from data module 没有啊
- Merry Christmas Every One!散分!下班前结贴!
- 一个小问题 请大家指教!怎样 写两个控 件的响应事件
- 已收集编程资料网站列表(共享一下)
- 关于调用dll,高分求解!!!
- 200分求购软件
- 怎样在stringgrid中设置单元格的背景颜色、字体颜色
- 没有分了,大家帮个忙吧?谢谢了!
var
a_cc: TStrings;
ExcelApp: Variant;
begin
if OpenDialog1.Execute then begin
{打开保存一次EXCEL文件}
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Open(OpenDialog1.FileName);
ExcelApp.ActiveWorkBook.Save;
ExcelApp.Quit;
varclear(ExcelApp);
a_cc :=TStringList.Create;
{ADOConn是数据库连接控件ADOConnection}
ADOConn.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + OpenDialog1.FileName + ';Extended Properties=excel 8.0;Persist Security Info=false';
ADOConn.Connected := True;
ADOConn.GetTableNames(a_cc);{将EXCEL文件中的表格名单赋值于a_cc变量}
with adoquery2 begin
Close;
sql.text:='select * from ['+a_cc[0]+']';//得到EXCEL文件中的第一个表格的数据
open;
while not eof begin
adoquery1.Append;
adoquery1.FieldByName('xf_a').AsString:=FieldValues['工号'];
adoquery1.FieldByName('xf_b').AsString:=FieldValues['姓名'];
adoquery1.FieldByName('xf_c').AsString:=FieldValues['部门'];
adoquery1.post;
next;
end;
close;
end;
adoconn.Connected:=false;
a_cc.Free;
messagebox(handle,'数据处理完毕','提示',MB_OK+MB_ICONINFORMATION);
end;
end;
adoquery1是ACCESS中的表,ADOQUERY2是连EXCEL文件的表,显示为中文的是EXCEL中的字段