【问题标题】:Problem in reading Excel Sheet with Special Character in C#在 C# 中读取带有特殊字符的 Excel 工作表的问题
【发布时间】:2011-04-19 15:27:22
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: c# excel


    【解决方案1】:

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

    。变成#

    !变成_

    `变成_

    [ 变成 (

    ] 变成)

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

    最好的问候。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 是的!使用 OLEDB 时,您将 excel 文件视为数据库表。适用于数据库(无论如何是 OLEDB)表的规则。正如 AakashM 所说,您需要在 oledb 读取后处理代码中的替换,或者用另一种读取数据的方法替换。
      猜你喜欢
      • 2011-11-01
      • 1970-01-01
      • 2017-12-29
      • 2012-01-07
      • 2016-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多