外部 Table 未按预期格式打开 xml
External Table not in expected format open xml
我正在尝试在我的应用程序中上传一个 excel(.xlsx) 文件,该文件是由同一应用程序通过打开 xml sdk 创建的。我正面临异常 'External table not in expected format'。但是,如果我手动打开文件并保存并重试,则上传时没有任何错误。
有没有办法以编程方式执行打开 excel 文件并保存的任务?我无法让我的 user/client 遵循此解决方法。任何线索都会有所帮助。下面是抛出异常的代码片段。 'con.open()' 行抛出上述异常。请找到使用的连接字符串
private readonly string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=Yes;MAXSCANROWS=0;IMEX=1\";";
public DataTable GetSheetData(string sheetName)
{
System.IO.FileInfo fileInfo = new System.IO.FileInfo(this.filePath);
DataTable excelData = new DataTable();
excelData.Locale = CultureInfo.InvariantCulture;
using (OleDbConnection con = new OleDbConnection(string.Format(CultureInfo.CurrentCulture, this.connectionString, this.filePath)))
{
con.Open();
if (!string.IsNullOrEmpty(sheetName))
{
using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(string.Format(CultureInfo.CurrentCulture, "select * from [{0}$]", sheetName), con))
{
dataAdapter.Fill(excelData);
}
}
}
return excelData;
}
我通过以编程方式打开 excel 文件并通过 Interop 保存它找到了解决方法。现在我可以上传 excel 文件而不会出现任何错误。
var ExcelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook workbook = ExcelApp.Workbooks.Open(filePath);
workbook.Save();
workbook.Close();
ExcelApp.Quit();
我正在尝试在我的应用程序中上传一个 excel(.xlsx) 文件,该文件是由同一应用程序通过打开 xml sdk 创建的。我正面临异常 'External table not in expected format'。但是,如果我手动打开文件并保存并重试,则上传时没有任何错误。 有没有办法以编程方式执行打开 excel 文件并保存的任务?我无法让我的 user/client 遵循此解决方法。任何线索都会有所帮助。下面是抛出异常的代码片段。 'con.open()' 行抛出上述异常。请找到使用的连接字符串
private readonly string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=Yes;MAXSCANROWS=0;IMEX=1\";";
public DataTable GetSheetData(string sheetName)
{
System.IO.FileInfo fileInfo = new System.IO.FileInfo(this.filePath);
DataTable excelData = new DataTable();
excelData.Locale = CultureInfo.InvariantCulture;
using (OleDbConnection con = new OleDbConnection(string.Format(CultureInfo.CurrentCulture, this.connectionString, this.filePath)))
{
con.Open();
if (!string.IsNullOrEmpty(sheetName))
{
using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(string.Format(CultureInfo.CurrentCulture, "select * from [{0}$]", sheetName), con))
{
dataAdapter.Fill(excelData);
}
}
}
return excelData;
}
我通过以编程方式打开 excel 文件并通过 Interop 保存它找到了解决方法。现在我可以上传 excel 文件而不会出现任何错误。
var ExcelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook workbook = ExcelApp.Workbooks.Open(filePath);
workbook.Save();
workbook.Close();
ExcelApp.Quit();