请问怎么把.xls文件变成.db文件或者.mdb文件!!!在线等!!! 请指教有几种方法可以实现下面的问题呀!把.xls文件变成.db文件把.xls文件变成.mdb文件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考http://community.csdn.net/Expert/topic/3796/3796049.xml?temp=.1811182procedure TF_Ywsjdr.ExcelToAccess(Str: String);var EclApp,WorkBook :variant ; XlsFileName :string; Xls_rowCount :integer; // excel 文件的行数 i :integer; StartIp1, StartIp2: String;begin XlsFileName :=suiedit1.Text; try EclApp := CreateOleObject('Excel.Application'); WorkBook :=CreateOleObject('Excel.Sheet'); except showmessage('您系统未安装MS-EXCEL'); exit; end; try workBook := EclApp.WorkBooks.Add; EclApp.workBooks.open(OpenDialog1.FileName); except on EOleException do begin WorkBook.close; EclApp.quit; EclApp:=Unassigned; Exit; end; end; EclApp.visible :=false; Xls_RowCount :=EclApp.Activesheet.UsedRange.rows.count; //返回excel 表中的行数 self.suiProgressBar1.Max:=xls_rowcount; if xls_rowcount<>1 then begin try adoquery1.Active:= true; for i:= 2 to Xls_RowCount do begin self.suiProgressBar1.Position:=self.suiProgressBar1.Position+i;/////ado写入数据库过程 adoquery1.Append; adoquery1.FieldValues['ksdm']:= EclApp.activesheet.cells.item[i,1]; adoquery1.FieldValues['ksmc']:= EclApp.activesheet.cells.item[i,2]; adoquery1.FieldValues['yhck']:= EclApp.activesheet.cells.item[i,3]; adoquery1.FieldValues['xjck']:= EclApp.activesheet.cells.item[i,4]; adoquery1.FieldValues['zpck']:= EclApp.activesheet.cells.item[i,5]; adoquery1.FieldValues['qtck']:= EclApp.activesheet.cells.item[i,6]; adoquery1.FieldValues['tyjj']:= EclApp.activesheet.cells.item[i,7]; adoquery1.FieldValues['yshj']:= EclApp.activesheet.cells.item[i,8]; adoquery1.FieldValues['qfhj']:= EclApp.activesheet.cells.item[i,9]; adoquery1.FieldValues['srje']:= EclApp.activesheet.cells.item[i,10]; adoquery1.FieldValues['fyhj']:= EclApp.activesheet.cells.item[i,11]; adoquery1.FieldValues['zywq']:= EclApp.activesheet.cells.item[i,12]; adoquery1.FieldValues['tyjk']:= EclApp.activesheet.cells.item[i,13]; adoquery1.FieldValues['tyxj']:= EclApp.activesheet.cells.item[i,14]; adoquery1.FieldValues['tyzp']:= EclApp.activesheet.cells.item[i,15]; adoquery1.FieldValues['tyqt']:= EclApp.activesheet.cells.item[i,16]; adoquery1.FieldValues['yjje']:= EclApp.activesheet.cells.item[i,17]; end; adoquery1.Post; finally WorkBook.close; eclApp.quit; eclApp:=Unassigned; end; end;end;/////过程调用ExcelToAccess('数据库中的表名'); 不好意思我想问的不是通过编程来实现,是通过其他方法把一个.xls文件变成.db文件。例如:book.xls----book.db文件,听说可以通过delphi下面的datapump实现,或者其他方法,我是想知道具体的操作方法!!!同样感谢jinjazz(近身剪(N-P攻略) 车辆配货的算法问题 如何将xls文件,用RxRichedit显示出来 chr的反函数是什么? 分层显示数据库内容 关于窗体显示的问题,请指教 “4/10”这个表达式的结果如何在文本框中显示出来? 如何实现MS SQL SERVER数据表的插入? 请问*.db和*.px数据库文件用什么程序打开? 第二次运行出现operation not application 错误怎么解决?我就这点分了 :~~( 在一个应用程序中,如何把另一个程序放置到最前端(就是ZOrder) , setwindowbkground不可以 Delphi搭配哪种数据库比较好? 请教关于 GetWindowWord() 的问题
http://community.csdn.net/Expert/topic/3796/3796049.xml?temp=.1811182procedure TF_Ywsjdr.ExcelToAccess(Str: String);
var
EclApp,WorkBook :variant ;
XlsFileName :string;
Xls_rowCount :integer; // excel 文件的行数
i :integer;
StartIp1, StartIp2: String;
begin
XlsFileName :=suiedit1.Text;
try
EclApp := CreateOleObject('Excel.Application');
WorkBook :=CreateOleObject('Excel.Sheet');
except
showmessage('您系统未安装MS-EXCEL');
exit;
end; try
workBook := EclApp.WorkBooks.Add;
EclApp.workBooks.open(OpenDialog1.FileName);
except
on EOleException do
begin
WorkBook.close;
EclApp.quit;
EclApp:=Unassigned;
Exit;
end;
end; EclApp.visible :=false;
Xls_RowCount :=EclApp.Activesheet.UsedRange.rows.count; //返回excel 表中的行数
self.suiProgressBar1.Max:=xls_rowcount;
if xls_rowcount<>1 then begin
try
adoquery1.Active:= true;
for i:= 2 to Xls_RowCount do
begin
self.suiProgressBar1.Position:=self.suiProgressBar1.Position+i;
/////ado写入数据库过程
adoquery1.Append;
adoquery1.FieldValues['ksdm']:= EclApp.activesheet.cells.item[i,1];
adoquery1.FieldValues['ksmc']:= EclApp.activesheet.cells.item[i,2];
adoquery1.FieldValues['yhck']:= EclApp.activesheet.cells.item[i,3];
adoquery1.FieldValues['xjck']:= EclApp.activesheet.cells.item[i,4];
adoquery1.FieldValues['zpck']:= EclApp.activesheet.cells.item[i,5];
adoquery1.FieldValues['qtck']:= EclApp.activesheet.cells.item[i,6];
adoquery1.FieldValues['tyjj']:= EclApp.activesheet.cells.item[i,7];
adoquery1.FieldValues['yshj']:= EclApp.activesheet.cells.item[i,8];
adoquery1.FieldValues['qfhj']:= EclApp.activesheet.cells.item[i,9];
adoquery1.FieldValues['srje']:= EclApp.activesheet.cells.item[i,10];
adoquery1.FieldValues['fyhj']:= EclApp.activesheet.cells.item[i,11];
adoquery1.FieldValues['zywq']:= EclApp.activesheet.cells.item[i,12];
adoquery1.FieldValues['tyjk']:= EclApp.activesheet.cells.item[i,13];
adoquery1.FieldValues['tyxj']:= EclApp.activesheet.cells.item[i,14];
adoquery1.FieldValues['tyzp']:= EclApp.activesheet.cells.item[i,15];
adoquery1.FieldValues['tyqt']:= EclApp.activesheet.cells.item[i,16];
adoquery1.FieldValues['yjje']:= EclApp.activesheet.cells.item[i,17];
end;
adoquery1.Post;
finally
WorkBook.close;
eclApp.quit;
eclApp:=Unassigned;
end;
end;
end;/////过程调用
ExcelToAccess('数据库中的表名');