【问题标题】:Converting .csv file to xlsx adds <> to fields将 .csv 文件转换为 xlsx 将 <> 添加到字段
【发布时间】:2015-09-22 07:38:38
【问题描述】:

我在 Excel 中打开了一个 csv 文件,然后将其转换为 xlsx 文件,以便我们可以通过 C# 的 OLEDB 接口将其导入到我们的系统中。

这是一个简单的查询,我们使用select * from [anyworksheet] 来填充数据表对象。但是,转换后我们收到一个错误。这发生在不同的列类型上:

  • 日期时间:无法将 解析为日期时间
  • Int(空条目):无法将 解析为 Int

我检查了 csv 文件,它的字段中不包含 ,并尝试在 excel 文件中的单元格上强制日期时间格式,但它不起作用。

你至少能告诉我这里发生了什么吗,即使没有解决办法?

谢谢

【问题讨论】:

    标签: c# excel csv oledb


    【解决方案1】:

    我很确定 &lt;&gt; 仅作为错误消息的一部分出现,以明确实际值是什么。将它们视为引号。

    在您的示例中,空格既不是整数,也可以被解析,您的日期格式也不是任何明智的。所以你得到错误并不让我感到惊讶。对于日期,请尝试使用 ISO-8601,即 YYYY-MM-DD,这在交换格式中应该会更好。

    【讨论】:

      【解决方案2】:

      您也可以尝试使用 ClosedXML 库。 它比 OLEdb 更简单,并且不将字符串长度限制为 255 个字符。

      【讨论】:

        猜你喜欢
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        • 2018-07-22
        • 2013-05-19
        • 1970-01-01
        • 1970-01-01
        • 2018-05-04
        • 1970-01-01
        相关资源
        最近更新 更多