外部 table 不是预期的格式。
External table is not in the expected format.
我正在创建一个小应用程序以将 excel 数据导入我的数据库,当我单击该按钮时它崩溃并显示错误
External table is not in the expected format.
我尝试在谷歌上搜索并更改代码,但问题仍然存在。我尝试将文件另存为 .xls,当我 运行 代码页面因 google chrome 脱机时此网页不可用(甚至无法进入调试)
这是我的代码:
string strConnection = ConfigurationManager.ConnectionStrings["---"].ConnectionString;
String excelConnString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0\"", filePath);
//Create Connection to Excel work book
using (OleDbConnection excelConnection = new OleDbConnection(excelConnString))
{
//Create OleDbCommand to fetch data from Excel
using (OleDbCommand cmd = new OleDbCommand("Select * from [Sheet1$]", excelConnection))
{
excelConnection.Open();
using (OleDbDataReader dReader = cmd.ExecuteReader())
{
using (SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection))
{
//Give your Destination table name
sqlBulk.DestinationTableName = "TableName";
sqlBulk.WriteToServer(dReader);
}
}
}
}
假设您已完成所有准备工作,包括安装 Microsoft Access 2010 Runtime 以获取相关驱动程序,请尝试以下操作,因为我过去曾成功完成此操作。
如果您的输入文件属于 *.xlsx
类型,请尝试替换
Extended Properties="Excel 12.0"
在您的连接字符串中
Extended Properties="Excel 12.0 Xml"
此问题通常发生在 Excel 文件有问题或格式不匹配的情况下,因此根据经验,您首先要尝试的是打开 Excel 并创建一个新的 .xlsx
文件,其中包含 您自己输入的 (而不是 copy/paste)的示例数据。您不需要太多的输入来测试您的代码片段。几个具有您期望的正确信息的单元格就可以了。这种方法消除了实际 Excel 文件而不是 C# 代码的任何问题。
告诉我们你过得怎么样。
我正在创建一个小应用程序以将 excel 数据导入我的数据库,当我单击该按钮时它崩溃并显示错误
External table is not in the expected format.
我尝试在谷歌上搜索并更改代码,但问题仍然存在。我尝试将文件另存为 .xls,当我 运行 代码页面因 google chrome 脱机时此网页不可用(甚至无法进入调试)
这是我的代码:
string strConnection = ConfigurationManager.ConnectionStrings["---"].ConnectionString;
String excelConnString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0\"", filePath);
//Create Connection to Excel work book
using (OleDbConnection excelConnection = new OleDbConnection(excelConnString))
{
//Create OleDbCommand to fetch data from Excel
using (OleDbCommand cmd = new OleDbCommand("Select * from [Sheet1$]", excelConnection))
{
excelConnection.Open();
using (OleDbDataReader dReader = cmd.ExecuteReader())
{
using (SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection))
{
//Give your Destination table name
sqlBulk.DestinationTableName = "TableName";
sqlBulk.WriteToServer(dReader);
}
}
}
}
假设您已完成所有准备工作,包括安装 Microsoft Access 2010 Runtime 以获取相关驱动程序,请尝试以下操作,因为我过去曾成功完成此操作。
如果您的输入文件属于 *.xlsx
类型,请尝试替换
Extended Properties="Excel 12.0"
在您的连接字符串中
Extended Properties="Excel 12.0 Xml"
此问题通常发生在 Excel 文件有问题或格式不匹配的情况下,因此根据经验,您首先要尝试的是打开 Excel 并创建一个新的 .xlsx
文件,其中包含 您自己输入的 (而不是 copy/paste)的示例数据。您不需要太多的输入来测试您的代码片段。几个具有您期望的正确信息的单元格就可以了。这种方法消除了实际 Excel 文件而不是 C# 代码的任何问题。
告诉我们你过得怎么样。