提供错误 无效字符
string sSheetName="Nov'16";
dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter("Select * from [" + sSheetName+ "]", conn);
da.Fill(dt);
ds.Tables.Add(dt);
答案 0 :(得分:1)
这可能对某人有所帮助。由于某种原因,我在阅读工作表名称时用单引号替换了两个单引号。我执行了以下操作,并修复了该问题:
comm.CommandText = "Select * from [" + sheetName.Replace("''","'") + "]";
答案 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;
}
}
}
}