跳到正文
GongsiMap Tools

CSV 转 Excel(xlsx)

直接用 Excel 打开 CSV,常会遇到中文乱码、邮政编码 010010 前面的 0 被吃掉、18 位身份证号变成 1.1E+17 之类的问题。本工具生成真正的 .xlsx 文件,并逐个单元格判断哪些值可以安全地存为数字。

文件和粘贴的文本都只在浏览器本地处理,不会上传。

你的文件和文本只在当前浏览器中处理,不会上传或保存到服务器。

使用方法

  1. 选择 CSV、TSV 或 TXT 文件(最大 50 MB),或直接粘贴数据。
  2. 确认自动识别的分隔符和编码;如果预览显示不对,可以手动修改。
  3. 决定是否将数值转为数字,需要的话修改工作表名称。
  4. 下载 .xlsx 文件。

功能与限制

  • 自动识别分隔符,也可以手动指定。
  • 自动识别 UTF-8;不是 UTF-8 的文件会按 GB18030(兼容 GBK)读取,也就是中文版 Excel 保存 CSV 时常用的编码。
  • 也可以手动选择 EUC-KR、Shift_JIS、GB18030 或 Windows-1252 编码。
  • 开启“存为数字”后,数字形式的文本会转为数字单元格;但以 0 开头的值(邮政编码、手机号等)和超过 15 位的整数(如身份证号)会保留为文本。
  • 生成单个工作表的工作簿,工作表名称可自定义;受 Excel 每个工作表 1,048,576 行的上限限制。

常见问题

CSV 用 Excel 打开中文乱码怎么解决?

乱码通常是因为文件是 UTF-8 编码却没有 BOM,而 Excel 按 GBK 读取。用本工具转换时会先识别 UTF-8 或 GBK/GB18030 编码再生成 xlsx,xlsx 文件不存在编码问题,打开就是正常的中文。

身份证号在 Excel 里变成 1.1E+17、后几位变成 0,怎么办?

Excel 只能精确保存 15 位有效数字,18 位身份证号超出后,末尾几位会被改成 0,而且无法恢复。本工具会把超过 15 位的整数存为文本单元格,号码完整保留。

邮政编码、手机号前面的 0 不见了怎么办?

Excel 会把看起来像数字的内容转成数字,前导零就被去掉了。在这里转换时,像 010010 这样以 0 开头的值会存为文本,打开 xlsx 后 0 仍然在。

支持 TSV 或制表符分隔的文本吗?

支持。制表符和其他分隔符一样会被自动识别,也可以手动选择制表符。

能把多个 CSV 合并到一个工作簿吗?

目前不支持。每次转换生成一个只含一个工作表的 .xlsx 文件。