导入excel逐行读取,然后使用softartisans excel Writer插入数据库c#
尝试使用softartisans ExcelWriter从excel工作表导入批量数据。我没有找到太多用于逐行读取和插入数据库的示例代码。我可以在c中获得用于逐行读取和插入的示例代码吗# 导入保存在临时位置的excel文件并开始读取记录 试一试导入excel逐行读取,然后使用softartisans excel Writer插入数据库c#,c#,excel,bulkinsert,spreadsheet-excel-writer,C#,Excel,Bulkinsert,Spreadsheet Excel Writer,尝试使用softartisans ExcelWriter从excel工作表导入批量数据。我没有找到太多用于逐行读取和插入数据库的示例代码。我可以在c中获得用于逐行读取和插入的示例代码吗# 导入保存在临时位置的excel文件并开始读取记录 试一试 实际结果应该在导入的Excel上逐行读取,为什么不像下面的示例那样进行批量插入 为此,我通常使用OLEDB。 -将其导入数据表 -进行验证 -写入数据库 public static DataTable LoadCSV(string fileName)
实际结果应该在导入的Excel上逐行读取,为什么不像下面的示例那样进行批量插入
为此,我通常使用OLEDB。
-将其导入数据表
-进行验证
-写入数据库
public static DataTable LoadCSV(string fileName)
{
string sqlString = "Select * FROM [" + fileName + "];";
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ InboundSourceFilePath + ";" + "Extended Properties='text;HDR=NO;'";
DataTable theCSV = new DataTable();
using (OleDbConnection conn = new OleDbConnection(conStr))
{
using (OleDbCommand comm = new OleDbCommand(sqlString, conn))
{
using (OleDbDataAdapter adapter = new OleDbDataAdapter(comm))
{
adapter.Fill(theCSV);
}
}
}
return theCSV;
}
需要验证每个列。如果其有效,则只需插入
INSERT INTO dbo.ImportTest
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\ImportData.xls;Extended Properties=Excel 8.0')...[Sheet1$]
public static DataTable LoadCSV(string fileName)
{
string sqlString = "Select * FROM [" + fileName + "];";
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ InboundSourceFilePath + ";" + "Extended Properties='text;HDR=NO;'";
DataTable theCSV = new DataTable();
using (OleDbConnection conn = new OleDbConnection(conStr))
{
using (OleDbCommand comm = new OleDbCommand(sqlString, conn))
{
using (OleDbDataAdapter adapter = new OleDbDataAdapter(comm))
{
adapter.Fill(theCSV);
}
}
}
return theCSV;
}