C# 如何用ODBC读取XLSB文件

C# 如何用ODBC读取XLSB文件,c#,odbc,xlsb,C#,Odbc,Xlsb,我有这个代码,我想把.xlsb文件转换成DataTable public static class Utils { public static DataTable ImportExceltoDatatable(string filepath) { string connectionString = "Driver ={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xls

我有这个代码,我想把
.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;
            };
        }
    }
公共静态类Utils
{
公共静态数据表ImportExceltoDatatable(字符串文件路径)
{
字符串连接string=“Driver={Microsoft Excel驱动程序(*.xls,*.xlsx,*.xlsm,*.xlsb)};DBQ=“+filepath;
string query=“从[SheetName$]中选择*”;
使用(var连接=新OdbcConnection(connectionString))
使用(var适配器=新OdbcDataAdapter(查询、连接))
{
数据集=新数据集();

adapter.Fill(dataset);//让您的应用程序显示
String.Format(“{0}-bit”,IntPtr.Size*8)
的结果。它说什么?它说32-b,我将尝试以64-b模式运行程序。我将切换到64-b,但错误消息相同。确保您有正确的驱动程序-尝试使用检查ODBC设置。