我開發的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. 從文本文件插入數據到數據庫表
- 20. 使用HTTP從Excel中將數據插入到SQL Server數據庫中Post
- 21. 插入到數據庫中使用笨
- 22. C#從數據表插入數據到SQL Server數據庫
- 23. 如何從Excel中插入數據到包含頭文件的數據表?
- 24. C#空值插入到數據庫中
- 25. 將大量Excel數據插入到MySQL數據庫中
- 26. 不插入數據到數據庫中
- 27. 數據未插入到數據庫中
- 28. 數據未插入到數據庫中
- 29. 如何將Excel數據插入到使用asp.net 2012的SQL Server數據庫中
- 30. 無法通過文本文件將數據插入到數據庫中的表
你嘗試過什麼嗎? – 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 –