在C#中读取具有特殊字符的Excel工作表时出现问题

时间:2009-05-05 05:48:18

标签: c# excel

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

感谢。

2 个答案:

答案 0 :(得分:3)

经过一些测试后,我发现OleDB会转换以下字符:

。变成#

!变成_

`变为_

[成为(

]成为)

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

最诚挚的问候。

答案 1 :(得分:1)

谷歌搜索表明这是OLEDB的固有特性,而不是与Excel有任何关系 - 它似乎根本不喜欢列名中的句点(。)。

我的建议是要么应对它 - 它似乎是#s的确定性替代.s - 或者如果可能的话,使用另一种方法从C#中读取Excel数据(搜索此站点以寻找替代方案)。