Excel和制表符分隔文件问题

6
我遇到了一个我认为是Excel的奇怪问题(在这种情况下,是Excel 2007,但也可能是Excel 2003,但我写这篇文章时无法访问它)。
我可以可靠地将一些服务器数据转换成制表符分隔的格式(已经做了多年),然后使用Excel打开-没有问题。
然而,似乎发生的是,如果我在其中一个字段中有一个html <table>,那么Excel 2007似乎认为它应该将表格转换为Excel中的行和列(不是我想要的)。正如你所想象的那样,这会扰乱整个电子表格。
所以问题是,是否有任何方法可以设置Excel不要这样做(也许是Excel中与读取制表符分隔文件有关的某些设置),还是我错过了什么?
谢谢。

你已经验证过 HTML 中不包含制表符了吗? - Dave
4个回答

3

将您的文件保存为 .txt 格式。

现在使用拖放方式打开文件,而不是双击您的 .xls 文件。

这样做需要更多的工作来打开文件,但是您的标签文本格式现在将得到尊重。


2
打开制表符分隔的文件时,会显示一个导入映射对话框,让您选择每个列的数据类型(日期、文本、货币等)。对于具有HTML数据的列,请选择文本。这基本上告诉它按原样导入,而不尝试自动解析数据为派生格式。

事实是,我没有看到“导入映射”对话框 - 它会立即打开并完成其操作。你是如何让该对话框出现的?谢谢 - - OneNerd
你要打开的文件扩展名是什么?有些文件类型Excel会自动打开,而其他文件则提供对话框。尝试将文件扩展名更改为CSV(逗号分隔值)。您仍然可以选择制表符作为分隔符。 - JYelton
我看到-对于我试图做的事情不起作用。我习惯将制表符分隔的文件保存为.xls文件,而且Excel总是可以正确打开它。添加这个额外步骤会降低使用便捷性。是否有另一种分隔格式可以“无需告诉Excel即可正常工作”?我在想这是否只是Excel 2007的问题。 - OneNerd
如果您将它保存为 .xls 扩展名,则 Excel 使用一些内部默认值来映射数据。如何控制这些默认值...对我来说很遗憾,无能为力。抱歉。 - JYelton

0

Excel 2003也是如此。我认为没有通过配置的方法来做到这一点,因为Excel会在HTML表中找到分隔符,并像其他列一样将HTML分割成单元格和列。

如果包含HTML的列始终相同,则可以使用JYelton的建议将文件重命名为csv,并记录一个小的VBA宏来在导入映射对话框中自动选择HTML列作为文本加载文件,并调用宏而不是双击文件来加载文件。


-1
如果没有其他办法,将其导入到OpenOffice.org Calc中,保存为.xls文件,然后在Excel中打开。

Openoffice每次都会弹出导入对话框,而Excel 2013则不会。 - vinnief

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接