【问题标题】:import text file containing line breaks into excel将包含换行符的文本文件导入excel
【发布时间】:2010-09-25 07:40:48
【问题描述】:

我有一个如下所示的纯文本文件:

"some  
 text  
 containing  
 line  
 breaks"

我正在尝试让excel 2004 (Mac, v.11.5) 正确打开此文件。我希望只看到一个包含上述所有内容(不带引号)的单元格 (A1)...

但是,唉,我做不到,因为 Excel 似乎坚持使用 CR 作为行分隔符,即使我将文本限定符设置为双引号。我有点希望 Excel 能够理解这些换行符是值的一部分——它们嵌入在双引号中,这应该使它们成为值的一部分。所以我的 Excel 表有 5 行,这不是我想要的。

我也尝试了这个 Applescript,但无济于事:

tell application "Microsoft Excel"
    activate
    open text file filename ¬
    "Users:maximiliantyrtania:Desktop:linebreaks" data type delimited ¬
    text qualifier text qualifier double quote ¬
    field info {{1, text format}} ¬
    origin Macintosh with tab
end tell

如果我可以告诉 Excel 使用除 CR(或 LF)以外的行分隔符,那么我会很高兴,但 Excel 似乎只允许更改字段分隔符,而不是行分隔符。

任何指针?

谢谢,

最大 Excel 已打开

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    看起来我自己找到了解决方案。我需要将初始文件保存为“.csv”。 Excel 使用 CSV 文件正确处理换行符。通过 applescript 打开它们也可以。

    再次感谢回复的人。

    最大

    【讨论】:

    • 我知道这是一个 necro-post,但据我所知,这可能存在一个问题,即 Excel 的一个基本缺点:以这种方式打开 csv 文件会导致单元格包含只有数字,但以 0 开头以截断前导 0。让 excel 尊重所写文本的唯一方法(据我所知)是执行 Data->From File 导入,这不允许行休息。
    【解决方案2】:

    另一种选择是创建一个宏来处理开口。打开文件进行输入,然后将文本读入工作表,根据需要使用 Range 对象进行解析。

    【讨论】:

    • 谢谢,实际上是个好主意,但我也需要它与 Excel 2008 Mac 一起使用,而且它不再支持 vba... Max
    • 真的吗?嗯...回到绘图板。我会帮你找东西的。
    • 我只是看了一些 AppleScript...我不想很快就这样做。
    【解决方案3】:

    如果您的文件包含由列表分隔符(逗号,但对于某些非英语区域设置使用分号)分隔的列,请将其重命名为 .csv 并在 Excel 中打开它。 如果您的文件包含由 TAB 分隔的列,请将其重命名为 .tab 并在 Excel 中打开它。 导入(而不是打开)csv 或 tab 文件似乎无法理解文本分隔符之间的换行符。 :-(

    【讨论】:

      【解决方案4】:

      只有一个文件吗?如果是这样,请不要导入它。只需将文本文件的内容复制粘贴到第一个单元格中(按 f2,然后粘贴)。

      如果您绝对必须编写此脚本,Excel 实际上只使用这两个字符(cr、lf)中的一个作为行分隔符,但我不确定是哪个。尝试先用外部 util 去除 lf(留下 cr),然后导入它...如果这不起作用,去除 cr(留下 lf)然后导入它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多