使用OLEDB c#读取工作表名称中单引号的Excel文件的问题

问题描述 投票:0回答:1

提供错误无效字符

string sSheetName="Nov'16";
dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter("Select * from [" + sSheetName+ "]", conn);
da.Fill(dt);
ds.Tables.Add(dt);
c# excel oledb
1个回答
0
投票

代替旧的互操作,您可以尝试使用一种现代的库,例如ExcelDataReader

using (var stream = File.Open("C:\\Temp\\test.xlsx", FileMode.Open, FileAccess.Read))
{
    using (var reader = ExcelReaderFactory.CreateReader(stream))
    {
        while (reader.Read())
        {
            for (var i = 0; i < reader.FieldCount; i++)
            {
                var value = reader.GetValue(i)?.ToString() ?? string.Empty;
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.