在C#中使用特殊字符读取Excel表格时出现问题

我正在使用OLEDB用C#读取Excel工作表。 在该列标题名称是“Sr.No.” 在我的“Sheet1”中。 当我将Excel工作表数据提取到我的数据表中时,我将“Sr#No#”作为列标题名称而不是原始名称。 你能告诉我这是为什么吗? 同样的解决scheme是什么?

谢谢。

经过一些testing,我发现OleDB可以转换下列字符:

。 成为#

! 变成_

`成为_

[变成(

]变成)

所有其他字符被正确读取。 希望这有助于某人。

最好的祝福。

谷歌search表明,这是OLEDB的固有特征,而不是与Excel有什么关系 – 似乎根本不像列名中的句点(。)。

我的build议是或者应付它 – 它似乎是一个确定性的replace.s与#s – 或者如果可能的话使用从C#中读取Excel数据的替代方法(search此网站的替代品)。