工具 · 表格
CSV 转 Excel,不乱码、不丢开头的 0
用 Excel 直接打开 CSV,中文常常变成一堆乱码,00123 变成 123,长长的身份证号、订单号变成 1.23E+17。MSGView 自动识别编码和分隔符,把开头的 0 和长数字作为文本保留,生成真正的 .xlsx 文件——全程在浏览器中完成,文件不会上传到任何服务器。
把 .csv 或 .txt 文件拖到这里
一个或多个文件均可。最大 200 MB,分块读取。
示例会打开一个内置的 Shift-JIS 编码文件,没有自己的文件也能先看看转换效果。
.csv · .tsv · .txt — UTF-8、UTF-16、Shift-JIS(CP932)、EUC-KR、GB18030、Big5、Windows-1251/1252
转换 个文件
逐文件 PDF 在 zip 中会回退为 HTML(浏览器一次只能打印一页)。
3 步把 CSV 转成 Excel
- 拖入 CSV 把文件拖到页面上,或点击选择文件。前 20 行会立即显示,已经是正常可读的文字。
- 核对编码和分隔符 两者都会自动识别,也可以手动更改。Excel 会弄坏的列标为蓝色:这些列按文本保存。
- 下载 .xlsx 点击“下载 .xlsx”。也可以另存为带 BOM 的 UTF-8 CSV,在 Excel 中双击就能正确打开。
Excel 打开 CSV 为什么会乱码?
CSV 文件本身不标明所用的编码,Excel 只能靠猜,而且经常猜错:中文版 Excel 会把不带 BOM 的 UTF-8 文件当作 GBK 打开,结果满屏乱码;反过来,GB18030 编码的文件拿到 Mac 或其他软件里打开,同样是乱码。日文的 Shift-JIS 文件、欧洲的 Windows-1252 文件也有同样的问题。MSGView 读取文件的字节,选出能干净解码的那种编码。
开头的 0、长数字和日期
邮编、客户编号和电话号码在 Excel 中会丢掉开头的 0,超过 15 位的数字(比如身份证号)会被四舍五入。开启“以文本保留开头的 0 和长数字”(默认开启)后,这些单元格会以文本形式写入 .xlsx,与原文件完全一致。日期也不会被重新解释。
防止公式注入
以 = + − 或 @ 开头的单元格,在 Excel 中打开时可能被当作公式执行。MSGView 总是把这类单元格写成文本,所以下载的文件不会在你的电脑上运行任何东西。
常见问题
我的文件会被上传吗?
不会。CSV 在浏览器内存中读取,.xlsx 在你的设备上生成。你可以在浏览器开发者工具的“网络”(Network)标签中自行验证。
文件最大可以多大?
最大 200 MB。Excel 每个工作表最多 1,048,576 行,更长的文件会接着写到下一个工作表。
可以保留 CSV 格式吗?
可以:“适用于 Excel 的 UTF-8 CSV”会保存一个带字节顺序标记(BOM)的 CSV,Excel 打开时不会乱码。
在 Mac 或手机上能用吗?
能,任何现代浏览器都可以,无需安装任何软件。