谁能指点一下怎么将excel内容导入到数据库中去?有控件吗
2楼: 设好ADOConnection1,(连接到Access数据库)
ADOConnection1.Execute(''SELECT * into [表名] FROM [excel 8.0;database=文件名.xls].[sheet1$]'');
刚试过完全OK,别说不行。 如万能档案管理软件
3楼: 在查询分析器中执行以下命令:
insert into OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',
''E:\DataTransmit\DataTrans\Datatrans-V3\TransDataDB1.mdb'';''admin'';'''', testdata)
(userid,synum,grou_table,xmid,curorder,maxload,testdate,testtime)
select userid,synum,grou_table,xmid,curorder,maxload,testdate,testtime
FROM OpenDataSource( ''Microsoft.Jet.OLEDB.4.0'',
''Data Source="E:\DataTransmit\DataTrans\Datatrans-V3\Data20050929.xls";User ID=Admin;Password=;Extended properties=Excel 5.0'')...Data20050929$
测试通过!
注意,Data20050929.xls文件不能有单元格合并
4楼: SMImport控件就有实现这个功能的
另用DELPHI自带的EXCEL组件ExcelApplication,ExcelWorkSheet等也行,示例如下
先加入 ExcelApplication1;ExcelWorkbook1;ExcelWorksheet1;
procedure TForm1.n1Click(Sender: TObject);
var
row,brea:integer;
a,b,c,d,e:shortstring;
begin
if table1.active = True then begin
try
ExcelApplication1.Connect;
Except
ExcelApplication1.free;
Abort;
end;
brea := strtoint(inputbox('' 输入需导入行数! '','' 行数 '',''10''));
if brea<1 then brea := 10;
ProgressBar1.Visible := True;
ProgressBar1.Max := brea;
ExcelApplication1.Visible[0] := true;
for row := 2 to brea do
begin
a := ExcelWorksheet1.Cells.Item[row,2];
b := ExcelWorksheet1.Cells.Item[row,1];
c := ExcelWorksheet1.Cells.Item[row,3];
d := ExcelWorksheet1.Cells.Item[row,4];
e := ExcelWorksheet1.Cells.Item[row,5];
form1.show;
table1.AppendRecord([a,b,c,d,e]);
ProgressBar1.Position := row-1;
end;
ProgressBar1.Hide;
end;
end;
5楼: 还有,
将Excel文件作为数据库,使用ADO+JET连接后直接操作。
详见Delphi数据库程序设计,杨宗志,清华大学出版社
6楼: 达人们太热情,作为新手的我真是感动啊 !
企业管理软件版7楼: 分钱,分钱
8楼: 推荐:
异构数据库之间完全可以用SQL语句导数据。大家抛弃BatchMove吧 如果觉得好请Up一下,如果觉得不好也请Up一下
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1691966
9楼: 哇,楼上兄弟这个详细,好!