|
|
|
มีวิธีทำให้ข้อมูลในexcel เพิ่มเข้าไปใน sql database โดยใช้ windows App C# |
|
|
|
|
|
|
|
อ่าน 2 บทความนี้ครับ
อ่าน Excel (xlsx) บน .Net Application ด้วย Library ของ EPPlus (VB.Net,C#)
EPPlus สุดยอด .Net Library Spreadsheets ในการอ่าน-เขียนไฟล์ Excel (VB.Net,C#)
|
|
|
|
|
Date :
2018-04-24 16:42:00 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2018-04-24 16:42:00
รายละเอียดของการตอบ ::
ลองดูตามหัวข้อละครับ แต่ติดerrorตามรูป อะครับ รบกวนดูให้หน่อยครับ
Code (VB.NET)
public void import_excel()
{
string strConnString = @"Server=localhost;UID=sa;PASSWORD=;database=mydatabase";
var objConn = new SqlConnection(strConnString);
objConn.Open();
using (FileStream stream = File.Open(Server.MapPath("Xls/myExcel.xlsx"), FileMode.Open, FileAccess.Read))
{
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
excelReader.IsFirstRowAsColumnNames = false;
int i = 0;
while (excelReader.Read())
{
if (i > 0)
{
string strSQL = "INSERT INTO myTable (Column1,Column2,Column3,Column4,Column5) "
+ " VALUES ("
+ " '" + excelReader.GetString(0) + "', "
+ " '" + excelReader.GetString(1) + "', "
+ " '" + excelReader.GetString(2) + "', "
+ " '" + excelReader.GetString(3) + "', "
+ " '" + excelReader.GetString(4) + "' "
+ ")";
var objCmd = new SqlCommand(strSQL, objConn);
objCmd.ExecuteNonQuery();
}
i++;
}
}
objConn.Close();
}
|
|
|
|
|
Date :
2018-04-25 13:54:39 |
By :
darkgolfman0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
วิธีเช็ค Error ให้เอาเม้าส์ ไปชี้ที่ Error และจะมีคำอธิบายเบื้องต้นมาให้ทำครับ
|
|
|
|
|
Date :
2018-04-25 14:26:34 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 3 เขียนโดย : darkgolfman0 เมื่อวันที่ 2018-04-25 13:54:39
รายละเอียดของการตอบ ::
1.ตรวจสอบว่าลงแพคเกจครบหรือยังตามกรอบสีเขียว
2. Error บรรทัดนี้แก้หาไฟล์ที่ต้องการ Import ไปหรือเอาไปผูกกับ Open dialog ก็ได้
จากโค้ด
Code (C#)
using (FileStream stream = File.Open(Server.MapPath("Xls/myExcel.xlsx"), FileMode.Open, FileAccess.Read))
ตัวอย่าง
Code (C#)
using (FileStream stream = File.Open(@"C:\Users\puklit\Desktop\TestEPPlus.xlsx", FileMode.Open, FileAccess.Read))
3. คำสั่ง IExcelDataReader ไม่มี AsDataSet และ IsFirstRowAsColumnNames แล้วตามรูป
เปลี่ยนมาเป็นโค้ดนี้แทน
Code (C#)
var result = excelReader.AsDataSet(new ExcelDataSetConfiguration()
{
ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
{
UseHeaderRow = true
}
});
อ้างอิงจาก https://github.com/ExcelDataReader/ExcelDataReader/issues/262
เขียนใหม่ได้ดังนี้ครับ
Code (C#)
public void import_excel()
{
string strConnString = @"Server=localhost;UID=sa;PASSWORD=;database=mydatabase";
var objConn = new SqlConnection(strConnString);
objConn.Open();
using (FileStream stream = File.Open(@"C:\Users\puklit\Desktop\TestEPPlus.xlsx", FileMode.Open, FileAccess.Read))
{
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
var result = excelReader.AsDataSet(new ExcelDataSetConfiguration()
{
ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
{
UseHeaderRow = true
}
});
int i = 0;
while (excelReader.Read())
{
if (i > 0)
{
string strSQL = "INSERT INTO myTable (Column1,Column2,Column3,Column4,Column5) "
+ " VALUES ("
+ " '" + excelReader.GetString(0) + "', "
+ " '" + excelReader.GetString(1) + "', "
+ " '" + excelReader.GetString(2) + "', "
+ " '" + excelReader.GetString(3) + "', "
+ " '" + excelReader.GetString(4) + "' "
+ ")";
var objCmd = new SqlCommand(strSQL, objConn);
objCmd.ExecuteNonQuery();
}
i++;
}
}
objConn.Close();
}
|
|
|
|
|
Date :
2018-04-25 20:43:30 |
By :
Itsaret |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|