将包含换行符的文本文件导入到Excel中

20 浏览
0 Comments

将包含换行符的文本文件导入到Excel中

我有一个看起来像这样的纯文本文件:

"一些
文本
包含
换行"

我正在尝试让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似乎只允许更改字段分隔符,而不是行分隔符。

有什么建议吗?

谢谢,

Max

0
0 Comments

从上述内容可以推断出,问题的出现原因是Excel 2008 Mac不再支持VBA(Visual Basic for Applications),而导致无法使用宏来处理打开文件。而解决方法可能是使用AppleScript来代替VBA来实现相同的功能。下面是整理后的文章:

最近在使用Excel 2008 Mac时,遇到了一个问题,就是无法使用VBA来处理打开文件。通常情况下,我们可以创建一个宏来处理这个问题,通过打开文件并将文本读入工作表,根据需要进行解析。然而,Excel 2008 Mac不再支持VBA,所以这个方法无法使用。

我向朋友咨询了这个问题,他建议我尝试使用AppleScript来代替VBA来实现相同的功能。我考虑了一下,发现这个方法确实可行,但我不想马上使用AppleScript来解决这个问题,因为我对AppleScript并不熟悉,可能需要花费一些时间来学习。

在继续寻找解决方法的过程中,我发现了一种可能的解决方案。我可以通过创建一个宏来处理打开文件的操作,然后使用Range对象将文本读入工作表,并根据需要进行解析。这种方法可以在Excel 2008 Mac中使用,而不需要使用VBA。

我将尝试这个方法,并看看是否可以解决我的问题。如果成功的话,我将能够顺利地将包含换行符的文本文件导入到Excel中,而不需要依赖VBA或AppleScript。

通过整理上述内容,我们可以得出结论,Excel 2008 Mac不再支持VBA,导致无法使用宏来处理打开文件的问题。而解决方法可能是使用Range对象来读取文本并进行解析,以替代VBA。不过,仍然可以考虑使用AppleScript来解决这个问题,但需要花费时间学习和实现。

0
0 Comments

问题原因:

当文件的列由列表分隔符(逗号,但在某些非英语区域设置中为分号)分隔时,将其重命名为.csv并在Excel中打开。

当文件的列由TAB分隔时,将其重命名为.tab并在Excel中打开。

导入(而不是打开)csv或tab文件似乎无法理解文本定界符之间的换行符。

解决方法:

1. 将文件的扩展名从.txt更改为.csv或.tab,以便Excel可以正确识别文件的分隔符。

2. 在Excel中选择“文件”选项卡,然后选择“打开”或“导入”。

3. 在弹出的对话框中,导航到并选择要打开的文件。

4. 在“导入向导”对话框中,选择适当的选项,以指示文件的格式和分隔符类型。

5. 如果文件包含文本定界符,请确保在“分隔符”选项中选择正确的选项。

6. 点击“下一步”并按照指示完成导入过程。

以上是将包含换行符的文本文件导入到Excel的问题原因和解决方法。通过按照上述步骤,您可以成功地将包含换行符的文本文件导入到Excel,并正确识别列之间的分隔符。

0
0 Comments

原因:问题出现的原因是Excel在打开以.csv格式保存的文件时,无法正确识别行间断。

解决方法:将初始文件保存为.csv格式,Excel可以正确识别行间断。另外,也可以通过applescript打开.csv文件来解决这个问题。

然而,打开csv文件的方式可能会导致一个潜在问题,这似乎是Excel的一个基本缺陷:以这种方式打开csv文件会导致只包含数字但以0开头的单元格删除前导的0。唯一能够使Excel尊重原始文本(据我所知)的方法是使用“数据”->“从文件”导入,但这种方法不允许行间断。

0