Excel 转 CSV
在你的浏览器中把 Excel 工作簿转换成 CSV。每张工作表都会变成独立的文件,公式会按计算结果导出,日期会以合理的格式呈现。
- 文件永不离开你的设备
- 免费,无需注册
- 无水印
- 加载后可离线使用
如何Excel 转 CSV
- 1
添加你的工作簿
把一个 .xlsx 文件拖到页面上。
- 2
选择分隔符
逗号、分号或制表符——分号适合许多欧洲地区的习惯。
- 3
下载
每张工作表对应一个 CSV,超过一张时会打包成压缩包。
XLSX 到底是什么,以及为什么 CSV 比它更长寿
一个现代的 Excel 文件并不是单一的一份文档,而是一个小型 ZIP 压缩包,里面包含一组描述这个工作簿的 XML 文件——单元格的值、格式、公式、图表、共享字符串表,还有相当多其他内容——打包在一起,再赋予 `.xlsx` 扩展名。要正确读取它,需要理解这一整套内部结构,这也是为什么它需要一个真正的库,而不是一个简单的文本解析器。CSV 则截然相反,是纯文本:行用换行符分隔,值用分隔符分隔,再没有别的东西。正是这种简单性,让几乎每一个数据库导入工具、分析平台和编程语言,都能不借助任何专门的库原生读取 CSV,也正是为什么几十年后用一个纯文本编辑器打开一个 CSV 文件,依然完全可读——这是一种专有的、带版本的、近似二进制的格式无法以同样的方式做出的保证。
为什么公式会导出成数字,而不是公式本身
CSV 完全没有任何机制能表示一个公式——它只能承载纯粹的值,所以原始工作簿里一个包含 `=SUM(A1:A10)` 的单元格,导出时会变成这个公式最后一次计算出的那个数字,公式本身则被完全丢弃。这是目标格式本身的根本局限,不是这个转换工具做出的选择:即使在原则上,也不存在能让一个公式导出成的 CSV 语法。
有一个细节值得了解:导出的值是工作簿里最后一次存储的结果,由最近一次保存它的程序计算得出。如果一个工作簿的公式是被某个在保存时不会重新计算数值的工具编辑过的——比如某些脚本化或程序化的编辑——存储的结果可能相对当前的公式已经过时。在 Excel 或 Google Sheets 里打开这个文件并保存一次,强制进行一次完整的重新计算,能确保导出的 CSV 反映的是当前的值,而不是一个过时的缓存结果。
为什么一个有多张工作表的工作簿会变成多个文件
CSV 恰好只能表示一张表——这种格式里根本没有定义任何表头、分节标记或分隔符,用来在单个文件内分隔多张表。一个有三张工作表的工作簿,确实无法在不丢失信息、或者不发明一种其他软件都无法识别的非标准约定的情况下,被表示成一个 CSV,这也是为什么每张工作表都会变成自己独立的 CSV 文件,以它所来自的工作表命名,超过一张时打包成一个压缩包。任何声称能把多张工作表保留在单个 CSV 文件里的工具,要么是在悄悄丢弃除了一张之外的所有工作表,要么是在使用某种普通 CSV 阅读器无法理解的非标准约定。
常见问题
为什么要转换成 CSV?
因为几乎每一个数据库、分析工具和编程语言都能原生读取 CSV,而 XLSX 是一种压缩的 XML 格式,需要专门的库才能读取。CSV 也是纯文本,五十年后依然可读——而 XLSX 未必能做到这一点。
公式会怎样处理?
它们会按各自计算出的结果值导出,这是 CSV 唯一能表示的方式——CSV 完全没有公式这个概念。如果一个单元格从未被 Excel 重新计算过,你得到的就是它存储的那个值,所以如果你曾在 Excel 之外编辑过公式,请先打开并保存一次工作簿。
多张工作表会怎样处理?
每一张都会变成自己独立的 CSV,以工作表名命名。CSV 按定义只能表示一张表,所以没有办法在一个文件里表示一个多工作表的工作簿——任何声称能做到这一点的工具,实际上都在悄悄丢弃数据。
格式、图表和颜色会被保留吗?
不会,也不可能被保留。CSV 只存储值——没有字体、颜色、合并单元格、图表、数据透视表或条件格式。合并单元格会把值导出到左上角的位置,其余位置留空。
支持 .xls 文件吗?
目前还不支持——只支持现代的 .xlsx 格式。老旧的二进制 .xls 格式需要一个单独的解析器。在 Excel 或 LibreOffice 里打开它、另存为 .xlsx,只需要几秒钟。