ASP.NET中如何将Excel表中的数据导入到数据库中?

请给出具体的代码实现 。 谢谢

ASP.NET中将Excel表中的数据导入到数据库中的方法是利用可视化界面工具直接选择字段映射导入。
1)接受数据导入的表已经存在。
insert into t1 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,
'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);
2)导入数据并生成表。
select * into t1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);

3) 导入Excel中指定的列到数据库表中指定的列。
INSERT INTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET'MICROSOFT.JET.OLEDB.4.0' ,'Excel5.0; HDR=YES; DATABASE=c:\\test.xls',sheet1$);
需要注意的地方。
1)外围应用配置器的设置。
从“功能外围应用配置器”中选择“启动 OPENROWSET 和 OPENDATASOURCE 支持”选项。
2)关闭Excel表。
如果在导入时要导入的Excel表格处于打开状态,会提示:
“无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。”
3)导入数据时,Excel的首行会作为表头,若导入到已存在的数据库表,则忽略首行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-27
没有直接的方法。1、要操作Excel,首先需要引用Microsoft Office 11.0 Object Library2、包含using System.Runtime.InteropServices; // For COMExceptionusing Excel; 3.用该命名空间的类。操作Excel得到其中行列数据。得到数据后,存入SqlServer就行了。怎么操作Excel,我就不说了。网上多的是。Copy一下,根据自己的实际情况修改。
第2个回答  2013-10-27
if (FileUpload1.PostedFile != null)
{
string fileName = FileUpload1.PostedFile.FileName;
string kzm = System.IO.Path.GetExtension(fileName);
string newName = DateTime.Now.ToString("yyyyMMddHHmmss") + kzm;
string filePath = Server.MapPath("~") + "\\Download\\" + newName;
FileUpload1.PostedFile.SaveAs(filePath);

OleDbDataAdapter ada=new OleDbDataAdapter("SELECT * FROM [Sheet1$]", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0;");
DataTable dt = new DataTable();
try
{
ada.Fill(dt);
}
catch (Exception ex)
{

}本回答被网友采纳
相似回答