【问题标题】:How to force excel not to drop rows when opening csv-file?打开csv文件时如何强制excel不删除行?
【发布时间】:2011-11-07 12:48:40
【问题描述】:

背景:

我们有一个网络应用程序,用户可以在其中以 csv 格式导出订单。对于安装了 Microsoft Excel 的用户,它是默认程序。他们只需在文件下载后单击“打开”。用户主要使用 Internet Explorer、Firefox 和 Chrome。行为上没有区别。

问题:

如果用户只是打开 csv 文件(从浏览器或资源管理器),则 Excel 打开文件并自动加载数据。但有时行只是丢失了。走了。没有例外,没有消息,什么都没有。

数据那里,如果你用记事本打开文件就会看到。

(我怀疑它与特殊字符、引号、逗号等有关,但我找不到根本原因)

如何使其工作:

如果将文件保存到磁盘,打开 excel 并选择 File -> Open -> Format: Textfiles (*.prn, *.txt, *.csv, *.skv) -> Open excel 将启动导入向导,一切都会正常运行。

我可以对导出文件做些什么来强制导入向导或只是告诉 Excel 不要在没有警告的情况下排除我们的关键订单信息?

【问题讨论】:

  • 使用 .txt 扩展名怎么样?
  • 您发送的是什么内容类型?你能发布一个工作和缺失行的例子吗?
  • excel是什么版本的?本机文本文件中有多少行?如果它是 excel 2003 并且您的行数超过 ~32000 行,它们将被删除。
  • 这是 Excel 2010 和大约 2k-5k 行。请看下面我的回答,我找到了解决方案。

标签: excel csv export-to-excel


【解决方案1】:

我想我已经找到了原因。这似乎是由于this post 中描述的区域设置和来自superuser.com 的建议

我通过包装所有字段解决了这个问题,除了数字用引号,现在它工作得很好。

【讨论】:

  • 这很好用。谢谢你让我头疼:)
【解决方案2】:

确保在文件的所有行中使用一致的分隔符方案。例如,检查您是否同时将 \n 和 \r\n 序列作为行分隔符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 2020-02-24
    • 2019-04-17
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多