怎么实现将excel数据导入到access中!高分送 怎么实现将excel数据导入到access中!谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try ExcelApplication1:=TExcelApplication.Create(application); ExcelWorkbook1:=TExcelWorkbook.Create(application); ExcelWorkSheet1:=TExcelWorkSheet.Create(application); except Application.MessageBox('没有安装EXCEL!','错误!',mb_ok); end; //ExcelApplication1.Workbooks.Add(emptyparam,0); ExcelApplication1.Workbooks.Open('c:\123.xls',null,true,null,null,null,null,null,null,null,null,null,null,i); ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]); ExcelWorkSheet1.ConnectTo(ExcelWorkbook1.WorkSheets[1] as _worksheet); edit1.Text:=ExcelWorkSheet1.Cells.Item[1,3];//读excel数据,写入access就很简单拉 ExcelApplication1.Workbooks.Close(0); ExcelApplication1.free; ExcelWorkSheet1.free; ExcelWorkbook1.free; 用ADO分別連接execl 、ACCESS,然後把execl逐條讀出,接著逐條存入ACCESS. lypp(崆峒居士)能否再详细讲讲, 用ADO分別連接execl 、ACCESS,然後把execl逐條讀出,接著逐條存入ACCESS.//这个办法不错,我也准备说哩,呵。。就是用两个ADOquery了,一个读来一个写。找找资料,有讲ADO连接excell的。 procedure TFrm_inout.ImportExcel(sPathNameStr: String);var AA: OleVariant; sTempPath,sTableName: String;begin sTempPath := 'c:\temp.mdb'; sTableName := 'temp'; try AA := CreateOleObject('Access.Application'); if not FileExists(sTempPath) then AA.NewCurrentDataBase(sTempPath) else AA.OpenCurrentDataBase(sTempPath); AA.DoCmd.TransferSpreadsheet(acExport,acSpreadsheetTypeExcel7,sTableName,sPathNameStr,true,''); AA.CloseCurrentDatabase; except ShowMessage('文件格式有误,转换过程中发生错误!'); end;end; delphi的ado支持对excel的操作,把excel当作一个数据库连接方法同access 有二种方法是可行的。其一:你可以用一种方式把你的EXCEL 文件给连上而后读一条向ACCESS中写一条。其二:把EXCEL文件直接打开后读一条写一条的处理。 不要用ExcelApplication来导入数据,这样当然慢了,直接用ado来导入,ado本身就支持execl的.以下是ado组件的connectionstring的连接字符串Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=D:\我的文档\人事资料\在职\2001年11月在职职工98封定工资.xls;Mode=Share Deny None;Extended Properties=Excel 8.0;把其中的"Data Source=D:\我的文档\人事资料\在职\2001年11月在职职工98封定工资.xls"改成你的execl文件,就可以直接用adotable或adoquery来打开处理了.这样的效率将是你原来方法的N倍! 我用ADO去连接Excel怎么不行呢? 由于Excel格式不是很严格,可以先把Excel另存为其他各式,我一般用dbf,然后再用Acess导入。 Delphi 查询语句代码问题 求解决 不能用LOCALHOST连接数据库! 急求InterWeb文档 在delphi的树状结构中如何实现右键功能? RyanGT(笑书神侠) 请进来 现在是最后一个100分 窗口问题 Delphi 8 安装注意问题 关于DataSet的Cancel或DataBase的RollBack问题 请问我照书编写了一个两台机器tcp聊天工具,其中有问题请教!谢谢! delphi5的按装程序在哪里下载? 帮忙!!!!! treeview中右键添加项目的问题
ExcelApplication1:=TExcelApplication.Create(application);
ExcelWorkbook1:=TExcelWorkbook.Create(application);
ExcelWorkSheet1:=TExcelWorkSheet.Create(application);
except
Application.MessageBox('没有安装EXCEL!','错误!',mb_ok);
end;
//ExcelApplication1.Workbooks.Add(emptyparam,0);
ExcelApplication1.Workbooks.Open('c:\123.xls',null,true,null,null,null,null,null,null,null,null,null,null,i);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorkSheet1.ConnectTo(ExcelWorkbook1.WorkSheets[1] as _worksheet); edit1.Text:=ExcelWorkSheet1.Cells.Item[1,3];//读excel数据,写入access就很简单拉
ExcelApplication1.Workbooks.Close(0);
ExcelApplication1.free;
ExcelWorkSheet1.free;
ExcelWorkbook1.free;
//这个办法不错,我也准备说哩,呵。。
就是用两个ADOquery了,一个读来一个写。
找找资料,有讲ADO连接excell的。
var
AA: OleVariant;
sTempPath,sTableName: String;
begin
sTempPath := 'c:\temp.mdb';
sTableName := 'temp';
try
AA := CreateOleObject('Access.Application');
if not FileExists(sTempPath) then
AA.NewCurrentDataBase(sTempPath)
else
AA.OpenCurrentDataBase(sTempPath);
AA.DoCmd.TransferSpreadsheet(acExport,acSpreadsheetTypeExcel7,sTableName,sPathNameStr,true,''); AA.CloseCurrentDatabase;
except
ShowMessage('文件格式有误,转换过程中发生错误!');
end;
end;
连接方法同access
其二:把EXCEL文件直接打开后读一条写一条的处理。