我有这段代码,我想将.xlsb
文件转换为DataTable
public static class Utils
{
public static DataTable ImportExceltoDatatable(string filepath)
{
string connectionString = "Driver ={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; DBQ = " + filepath;
string query = "Select * From [SheetName$]";
using (var connection = new OdbcConnection(connectionString))
using (var adapter = new OdbcDataAdapter(query, connection))
{
DataSet dataset = new DataSet();
adapter.Fill(dataset); // <---------------- exception thrown here
DataTable datatable = dataset.Tables[0];
return datatable;
};
}
}
adapter.Fill(datasaet)
引发以下异常
System.Data.Odbc.OdbcException:'错误 [IM002] [Microsoft] [ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序'
在计算机 ODBC 设置中,似乎安装了 Excel 驱动程序
如何使用此驱动程序的正确方法是什么,我在连接字符串中有错误吗?
不幸的是,我发现除了使用 ODBC 之外别无他法。
- NPOI , EPPLUS不读取 XLSB。
- LinqToExcel需要
Microsoft.ACE.OLEDB.12.0
在机器上注册。 - Microsoft.Office.Interop.Excel需要在机器上安装 excel。