我开发的Web应用程序,将让使用asp.net C#FileUpload控件的Excel文件。现在当点击提交按钮时,我想插入Excel数据到我的数据库表中。我有SQL-Server中的数据库。数据库表& excel文件的字段是相同的。我想将该excel的数据插入到我的数据库表中。那我该怎么做呢?插入Excel文件中的数据到数据库表中使用C#
-1
A
回答
2
其他人使用Excel互操作来读取评论Excel文件所提到的,但这是不安全的,可能有多个用户的Web应用程序做。
要开始,看看在Excel Data Reader项目。我已经多次使用这个处理来自Web应用程序的Excel文件,并且它工作得很好。
0
您可以使用OLEDB类使用的OleDbConnection将Excel驱动程序从Excel文件直接读取。获取数据表中的数据并将其保存到数据库。
string connectString =
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\\testit.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;\"";
OleDbConnection conn = new OleDbConnection(connectString);
OleDbDataAdapter da = new OleDbDataAdapter("Select * From [Sheet1$]", conn);
DataTable dt = new DataTable();
da.Fill(dt);
// Save your datatable records to DB as you prefer.
0
我一直在测试NPOI作为另一个第三方Excel解析库的替代品。
https://code.google.com/p/npoi/
到目前为止,似乎工作得很好,有一个非常完整的功能集。当然,如果你需要的只是非常基本的Excel数据读取(而不是写入),那么这里提到的其他数据库连接样式接口应该工作得很好。
编辑:加入样品代码
using(FileStream fs = new FileStream("file.xls", FileMode.Open, FileAccess.Read))
{
HSSFWorkbook wb = new HSSFWorkbook(fs);
double value = wb.GetSheet("Sheet1").GetRow(1).GetCell(1).NumericCellValue;
// read other values as necessary.
}
0
尝试下面的代码。也许它的原油,但它的工作原理
string connectString =
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\data\\exceltest.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;\"";
OleDbConnection conn = new OleDbConnection(connectString);
OleDbDataAdapter da = new OleDbDataAdapter("Select * From [Sheet1$]", conn);
DataTable dt = new DataTable();
da.Fill(dt);
conn.Close();
SqlConnection sqlc = new SqlConnection(@"server=.\SQLEXPRESS;user id=sa;pwd=windows;database=exceltest");
sqlc.Open();
SqlCommand cmd = new SqlCommand("select * from table1", sqlc);
SqlDataAdapter sda = new SqlDataAdapter("select * from table1", sqlc);
sda.InsertCommand = new SqlCommand("insert into table1", sqlc);
DataTable dbset = new DataTable();
da.Fill(dbset);
SqlCommand cmdinsert = new SqlCommand();
cmdinsert.Connection = sqlc;
foreach (DataRow dsrc in dt.Rows)
{
string insertcommand = "insert into table1" + dbset.TableName + " ";
string cols = "";
string vals = "";
DataRow dr = dbset.NewRow();
foreach (DataColumn clm in dt.Columns)
{
dr[clm.ColumnName] = dsrc[clm.ColumnName].ToString(); ;
if (cols.Length > 0)
{
cols += ",[" + clm.ColumnName+"]";
}
else
{
cols = "["+clm.ColumnName+"]";
}
if (vals.Length > 0)
{
vals += "," + "'" + dsrc[clm.ColumnName].ToString() + "'";
}
else
{
vals = "'" + dsrc[clm.ColumnName].ToString() + "'";
}
}
insertcommand += "(" + cols + ") values("+vals+")";
cmdinsert.CommandText = insertcommand;
cmdinsert.ExecuteNonQuery();
insertcommand = "";
}
sqlc.Close();
相关问题
- 1. 使用java插入xml文件数据到数据库中?
- 2. 将数据库中的数据插入多个Excel文件
- 3. 使用web2py中的表格插入数据到数据库中
- 4. 插入Excel数据到数据库笨
- 5. 使用PDO将数据插入到MySQL数据库表中 - 不插入数据
- 6. 将Excel中的数据插入到SQL数据库中DB
- 7. 如何在Mule中插入excel文件到数据库中
- 8. 从Excel文件插入数据到SQL Server数据库
- 9. Excel导入到数据库使用C#
- 10. C#:使用linq将数据插入到数据库中
- 11. 插入数据库中的数据到列表框C#
- 12. 如何将Excel表格中的数据插入到数据库表格中?
- 13. 插入文本文件数据到SQLite数据库使用android
- 14. 插入到C#中的SQL数据库#
- 15. 使用C#中的数据表将数据插入到数据集中.net
- 16. 导入数据库中的Excel文件
- 17. excel文件上传使用phpexcel和数据插入到mysql数据库
- 18. C#Visual Studio 2010中 - 从Excel文件中的数据导入C#VS数据库
- 19. 如何将excel文件数据导入到c#中的数据表中
- 20. 从文本文件插入数据到数据库表
- 21. 使用HTTP从Excel中将数据插入到SQL Server数据库中Post
- 22. 插入到数据库中使用knex
- 23. 插入到数据库中使用笨
- 24. C#从数据表插入数据到SQL Server数据库
- 25. 如何从Excel中插入数据到包含头文件的数据表?
- 26. C#空值插入到数据库中
- 27. 数据未插入到数据库中
- 28. 数据未插入到数据库中
- 29. 不插入数据到数据库中
- 30. 将大量Excel数据插入到MySQL数据库中
你尝试过什么吗? – Lucas
为了让你开始:http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel%28v=office.11%29.aspx然后,一旦你提供更多的信息(你已经试过),我敢肯定SO会。 –
是指http://www.aspdotnet-suresh.com/2010/09/import-data-from-excel-to-sql-database.html –