C#中带有OLEDB的Excel前缀字符在UPDATE中导致“标准expression式中的数据types不匹配”错误

当从C#使用OLEDB更新Excel文件时,如果原始文件具有隐藏的PrefixCharacter(在我的情况下是撇号),则会出现错误“条件expression式中的数据types不匹配”。 如果我从原始文件中的单元格中删除撇号,我的应用程序按预期工作,数据更新没有任何错误。 除了在处理文件之前手动删除PrefixCharacter之外,如何解决此问题的任何build议?

几个月前,我还遇到了OLEDB / Excel自动化的问题:然后我碰巧findEPPlus http://epplus.codeplex.com/ ,从那以后,我没有使用OLEDB或Interop与Excel。

它不需要安装Excel,但只能使用Open Office Xml格式(xlsx),如果这不是您的限制,我会推荐它。

PS:我在12月份的时候发现了这个问题,当时我和C#的 Excel Create Excel(.XLS和.XLSX)文件有类似的问题。