跳到主要内容
PulsarKit

XLSX转换器

现代Excel工作簿:多个工作表、真正的数据类型、公式和格式,都在一个文件里。

8个工具

转换为XLSX

XLSX转其他格式

其他XLSX操作

XLSX能带而CSV带不了的东西

除了原始值以外的一切:工作表、列宽、单元格类型、真正的日期、公式、数字格式、颜色。所以它适合要给人打开的文件,不适合要给程序解析的文件。它的底层还是一个装着XML的ZIP压缩包,所以损坏的XLSX有时能被工具修复,而损坏的旧版XLS就不行。

日期、数字和转换中的陷阱

电子表格变成CSV时,总会出错的两样东西是日期和长数字。日期存储为一个数字,再通过格式显示出来;导出后你可能得到45231,而不是一个日期。长标识符,比如电话号码或带前导零的编号,会被变成数字并丢掉零,更糟的是变成科学计数法。这里的转换会把文本保留为文本;任何有这两类列的文件,都值得先检查这两列。

什么时候该把XLSX转成别的格式

下一个读者是机器的时候。脚本、导入和API需要CSV或JSON,而且在要紧的方向上转换没有损失:值保留下来,样式不保留。如果文件已经定稿、不该再编辑,就改转PDF。这样能保住版面,数字也不会再变。

XLSX还是CSV:公式重要的时候

下一环是程序时,转成CSV:导入、脚本、数据库加载工具。它们需要的东西,也就是值,全部保留;它们会卡住的东西,格式和公式,都会去掉。下一环是人,或者公式本身才是重点时,就保留XLSX:CSV存的是单元格最后显示的数字,而不是背后的计算,所以导出成CSV的预算表就不会再更新了。“Excel转CSV”可以选择公式单元格导出计算结果还是公式文本,为整个文件选定一种日期格式,并写出带字节顺序标记的UTF-8,Excel需要它才能正确读出带重音的字母。导入程序只要一张表时,“Excel拆分”把工作簿按工作表拆成多个文件。

常见问题

XLS和XLSX有什么区别?

XLS是Excel在2007年之前使用的二进制格式;XLSX是现在的格式,由XML文件打包成ZIP,更小、更稳定,能读它的软件也多得多。这里的转换器两种都能读,输出XLSX;继续保留旧的XLS已经没有任何好处。

为什么日期在CSV里变成了数字?

Excel把日期存成天数,比如45231,再通过CSV带不走的格式显示出来。“Excel转CSV”会改用一种明确的格式写出日期,所以接收的程序拿到的是2023-11-01,而不是原始数字。

XLSX转CSV会丢数据吗?

值不会丢,包括长标识符和前导零,这里的转换器会把它们保留为文本。保不住的是工作簿本身:公式变成计算结果,格式消失,每个工作表各自成为一个CSV文件。