且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将Excel数据导出到SQL Server表中

更新时间:2023-02-04 16:16:29

);

OleDbCommand Ecom = new OleDbCommand(Query,Econ);
Econ.Open();

DataSet ds = new DataSet();
OleDbDataAdapter oda = new OleDbDataAdapter(Query,Econ);
Econ.Close();
oda.Fill(ds);
DataTable Exceldt = ds.Tables [ 0 ];
connection();

SqlBulkCopy objbulk = new SqlBulkCopy(con);
objbulk.DestinationTableName = tblfarmer;

objbulk.ColumnMappings.Add( farmerctscode farmerctscode);
objbulk.ColumnMappings.Add( farmerapcode farmersapcode);
objbulk.ColumnMappings.Add( farmerseason farmerseason);
objbulk.ColumnMappings.Add( dateofjoinseco dateofjoinseco);
objbulk.ColumnMappings.Add( governmentcode ***代码);
objbulk.ColumnMappings.Add( firstname firstname);
objbulk.ColumnMappings.Add( lastname lastname);
objbulk.ColumnMappings.Add( surname );
objbulk.ColumnMappings.Add( gender 性别);
objbulk.ColumnMappings.Add( dateofbirth dateofbirth);
objbulk.ColumnMappings.Add( birthlocation birthlocation);
con.Open();
objbulk.WriteToServer(Exceldt);
con.Close();
}

受保护 void btnimport_Click( object span sender,EventArgs e)
{

string CurrentFilePath = string .Concat(Server.MapPath( 〜/ masterdata / +
FileUpload1.FileName));
InsertExcelRecords(CurrentFilePath);
}
"); OleDbCommand Ecom = new OleDbCommand(Query, Econ); Econ.Open(); DataSet ds = new DataSet(); OleDbDataAdapter oda = new OleDbDataAdapter(Query, Econ); Econ.Close(); oda.Fill(ds); DataTable Exceldt = ds.Tables[0]; connection(); SqlBulkCopy objbulk = new SqlBulkCopy(con); objbulk.DestinationTableName = "tblfarmer"; objbulk.ColumnMappings.Add("farmerctscode", "farmerctscode"); objbulk.ColumnMappings.Add("farmersapcode", "farmersapcode"); objbulk.ColumnMappings.Add("farmerseason", "farmerseason"); objbulk.ColumnMappings.Add("dateofjoinseco", "dateofjoinseco"); objbulk.ColumnMappings.Add("governmentcode", "governmentcode"); objbulk.ColumnMappings.Add("firstname", "firstname"); objbulk.ColumnMappings.Add("lastname", "lastname"); objbulk.ColumnMappings.Add("surname", "surname"); objbulk.ColumnMappings.Add("gender", "gender"); objbulk.ColumnMappings.Add("dateofbirth", "dateofbirth"); objbulk.ColumnMappings.Add("birthlocation", "birthlocation"); con.Open(); objbulk.WriteToServer(Exceldt); con.Close(); } protected void btnimport_Click(object sender, EventArgs e) { string CurrentFilePath = string.Concat(Server.MapPath("~/masterdata/" + FileUpload1.FileName)); InsertExcelRecords(CurrentFilePath); }



当我运行并选择文件并上传时,错误显示如下



外部表格不是预期的格式。



如何解决此错误外部表格不符合预期格式。



我的尝试:



我的代码如下




when i run and select the file and upload, then error shows as follows

External table is not in the expected format.

how to solve this error "External table is not in the expected format".

What I have tried:

My code as follows

private void ExcelConn(string FilePath)
        {
            constr = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES;""", FilePath);
            Econ = new OleDbConnection(constr);
       }


 private void connection()
        {
       sqlconn = ConfigurationManager.ConnectionStrings["Constring"].ConnectionString;
            con = new SqlConnection(sqlconn);
        }


 private void InsertExcelRecords(string FilePath)
        {
            ExcelConn(FilePath);
            Query = string.Format("select * FROM [{0}]", "Sheet1


跨度>);

OleDbCommand Ecom = new OleDbCommand(Query,Econ);
Econ.Open();

DataSet ds = new DataSet();
OleDbDataAdapter oda = new OleDbDataAdapter(Query,Econ);
Econ.Close();
oda.Fill(ds);
DataTable Exceldt = ds.Tables [ 0 ];
connection();

SqlBulkCopy objbulk = new SqlBulkCopy(con);
objbulk.DestinationTableName = tblfarmer;

objbulk.ColumnMappings.Add( farmerctscode farmerctscode);
objbulk.ColumnMappings.Add( farmerapcode farmersapcode);
objbulk.ColumnMappings.Add( farmerseason farmerseason);
objbulk.ColumnMappings.Add( dateofjoinseco dateofjoinseco);
objbulk.ColumnMappings.Add( governmentcode ***代码);
objbulk.ColumnMappings.Add( firstname firstname);
objbulk.ColumnMappings.Add( lastname lastname);
objbulk.ColumnMappings.Add( surname );
objbulk.ColumnMappings.Add( gender 性别);
objbulk.ColumnMappings.Add( dateofbirth dateofbirth);
objbulk.ColumnMappings.Add( birthlocation birthlocation);
con.Open();
objbulk.WriteToServer(Exceldt);
con.Close();
}

受保护 void btnimport_Click( object span sender,EventArgs e)
{

string CurrentFilePath = string .Concat(Server.MapPath( 〜/ masterdata / +
FileUpload1.FileName));
InsertExcelRecords(CurrentFilePath);
}
"); OleDbCommand Ecom = new OleDbCommand(Query, Econ); Econ.Open(); DataSet ds = new DataSet(); OleDbDataAdapter oda = new OleDbDataAdapter(Query, Econ); Econ.Close(); oda.Fill(ds); DataTable Exceldt = ds.Tables[0]; connection(); SqlBulkCopy objbulk = new SqlBulkCopy(con); objbulk.DestinationTableName = "tblfarmer"; objbulk.ColumnMappings.Add("farmerctscode", "farmerctscode"); objbulk.ColumnMappings.Add("farmersapcode", "farmersapcode"); objbulk.ColumnMappings.Add("farmerseason", "farmerseason"); objbulk.ColumnMappings.Add("dateofjoinseco", "dateofjoinseco"); objbulk.ColumnMappings.Add("governmentcode", "governmentcode"); objbulk.ColumnMappings.Add("firstname", "firstname"); objbulk.ColumnMappings.Add("lastname", "lastname"); objbulk.ColumnMappings.Add("surname", "surname"); objbulk.ColumnMappings.Add("gender", "gender"); objbulk.ColumnMappings.Add("dateofbirth", "dateofbirth"); objbulk.ColumnMappings.Add("birthlocation", "birthlocation"); con.Open(); objbulk.WriteToServer(Exceldt); con.Close(); } protected void btnimport_Click(object sender, EventArgs e) { string CurrentFilePath = string.Concat(Server.MapPath("~/masterdata/" + FileUpload1.FileName)); InsertExcelRecords(CurrentFilePath); }





当我运行并选择文件并上传时,错误显示如下



外部表格不是预期格式。



如何解决此错误外部表格不符合预期格式。



when i run and select the file and upload, then error shows as follows

External table is not in the expected format.

how to solve this error "External table is not in the expected format".


您是否尝试过使用Microsoft Interop服务。 Interop使您可以更灵活地阅读MS Office应用程序中的内容。
Have you tried it using "Microsoft Interop service". Interop give you more flexibility over reading content from MS office application.