我正在使用 Excel 2003 将大文件保存为 CSV。
但是,当保存包含超过 1024 个字符的单元格时,它会剪掉超过 1024 个字符。
根据之前的问题,我使用这个官方宏来保存:http://support.microsoft.com/default.aspx?scid=kb;en-us;291296&Product=xlw
可能是这个有问题的宏导致了这个问题,因为我没有使用正常的另存为(为了在每个字段周围加上引号)。
可能不是 1024 个字符,但长单元格会被截断。这个宏中的什么原因导致的?
答案1
这段代码太聪明了。它使用 Text 属性(即单元格中显示的内容)来获取单元格值的文本表示。另一个答案中提到的问题是,它限制为 1024 个字符。您可以更改代码以使用 Value 属性,但这可能不适用于所有单元格值类型。
更改此行:
Print #FileNum, """" & Selection.Cells(RowCount, ColumnCount).Text & """";
到:
Print #FileNum, """" & Selection.Cells(RowCount, ColumnCount).Value & """";
答案2
实际上,电子表格中输入的数据仍然存在于单元格中。您可以通过选择单元格并查看公式栏来验证这一点。
然而,Excel 仅显示器最多 1024 个字符。
当您将电子表格保存为 CSV 文件时,物理数据应该会按预期导出,因为它从未真正丢失过。以下是 Microsoft 对此的指导:
http://support.microsoft.com/default.aspx?scid=kb;en-us;211580