本页内容
先保留 XLSX,再按文本列导入 CSV
- 保留原始 XLSX 和 CSV,先确认编号、单位、空值与负数的含义。
- 用 CSV 导入功能明确 UTF-8 编码和分隔符,检查含逗号、双引号的备注是否仍在一列。
- 把编号、长数字或其他标识列指定为文本,再确认 001、002 没有变成 1、2。
- 对照原 XLSX 检查空值、明确的 0、负数和小数位,再保存导入结果。
- 若目标软件已经把前导零丢掉,从原 CSV 重新导入;仅修改显示格式不能证明原始字符恢复。
CSV 导出和接收方导入是两个步骤。当前页面提供实测对照,未在 Microsoft Excel 或 WPS 执行。
同一份数据:XLSX 保留 001,CSV 默认导入变成 1
复用此前两页续表整理出的真实六行八列 CSV 与同源 XLSX。Numbers 默认打开 CSV 后,编号显示为1到6;同源 XLSX 仍显示001到006。逗号字段、双引号字段、空值、0和负数分别核对。
| 字段 | CSV 原文 | 默认导入观察 | 应对方式 |
|---|---|---|---|
| 编号 | 001 | 显示 1 | 导入时把列设为文本 |
| 空值 | 空字段 | 仍为空 | 不要自动补 0 |
| 明确零 | 0 | 保留为 0 | 与未知空白分开 |
| 负数 | -5.00 | 保留负号 | 确认金额含义 |
| 逗号备注 | 北区, A组 | 仍在一列 | 使用 CSV 引号规则 |
| 双引号备注 | 备注 "复核" | 仍在一列 | 双引号写成连续双引号 |
- CSV 读取为 7 行、8 列;六行数据没有因为备注逗号而新增列。
- Numbers 默认导入显示编号 1 到 6;全字段加双引号的本地对照也仍显示 1 到 6。
- 同源 XLSX 在 Numbers 中显示 001、002,说明原工作簿保留了文本编号。
- 003 的数量和金额为空,002 为明确的 0,005 为 -2 和 -5.00;三种情况不能统一清洗。
这是两页自编续表的真实 CSV/XLSX 与 Numbers 默认导入观察,不是新 OCR 或产品 CSV 导出。Numbers、Microsoft Excel 和 WPS 的默认推断可能不同;本页未在 Excel/WPS 执行。全字段加引号只解决字段边界,不定义列类型。
先了解这几件事
CSV 的引号负责字段边界,不负责把编号列设成文本。本例同一批数据在 XLSX 中显示 001,在 Numbers 默认打开 CSV 后显示 1;备注中的逗号和双引号没有错列,空值、0 和负数仍在。要保留前导零,应在接收方导入步骤把编号列指定为文本,并保留原始 XLSX。
- 实际 CSV
- UTF-8 BOM,1 行表头、6 行数据、8 列。
- 默认导入
- Numbers 显示 1、2、3、4、5、6;文本编号被推断为数字。
- 字段边界
- “北区, A组”“批次 A,B”和带双引号的备注仍保持在一列。
- 原始工作簿
- 同源 XLSX 仍显示 001、002;原件未改写。
引号解决错列,不能解决前导零
本地把每个 CSV 字段都加双引号后再次用 Numbers 打开。逗号、双引号和空值仍正确,但编号仍从 001 推断为 1;文本列类型必须在导入目标中单独指定。
查看原图 ↗- CSV 的双引号把北区, A组和备注 "复核" 作为完整字段传递。
- Numbers 仍把 001 推断为 1;引号没有把该列锁定为文本。
本地控制文件只用于解释 CSV 语法边界,未当作产品导出。
按目标选择导出和导入方式
| 目标 | 先保留 | 导入时检查 |
|---|---|---|
| 继续编辑和追溯原表 | 原始 XLSX | 编号、合并关系、空值和工作表 |
| 接收系统只收 CSV | CSV 原文副本 | 编码、分隔符、引号和列类型 |
| 保留 001 或长编号 | 编号字段的文本语义 | 导入向导把整列设为文本 |
| 统计金额或数量 | 原始单位和负号 | 数值类型、空值、0 和小数格式 |
CSV 引号和文本类型不是同一件事
逗号和双引号属于 CSV 字段转义规则,负责让一行仍能读成八列。Numbers 的实际默认导入说明:即使所有字段都加了双引号,001 仍会被推断成数字 1。导入配置必须另设文本列。
接收软件没有逐列文本选项时,优先保留类型明确的 XLSX
本次没有在Numbers中设置导入列类型或验证该操作成功;实际有效的对照是同源XLSX仍显示001。需要在Excel处理CSV时,可按微软官方从文本/CSV导入说明,核对加载前的编号列类型及预览;具体菜单与功能取决于版本。不要把本页的Numbers默认打开当成这套Excel操作的执行记录。
原始 XLSX 和 CSV 各自承担不同作用
XLSX 保留工作表、单元格类型和更多结构;CSV 只有一张二维文本表。需要追溯来源时留着 XLSX,需要接收方导入时另存 CSV;不要只保留其中一份。
空值、零、负数不要统一清洗
003 的数量和金额为空,002 明确为 0,005 是数量冲回和负金额。把空白补成 0 会改变业务含义;把负号去掉会改变金额方向。先对照原表和备注。
前导零和长数字的官方边界
微软官方说明 Excel 对前导零和超过 15 位的大数有特殊处理。目标软件、版本和导入方式会影响结果;本页复现 Numbers 默认行为,不把它扩大为所有 Excel 版本的相同表现。
导入后再另存,不能追溯丢掉的字符
Numbers 默认导入后保存的副本已经显示 1 到 6。若要恢复 001,应从原 CSV 重新导入并在导入步骤指定文本,不要用“显示三位数字”的格式代替原始编号。
相关官方说明
遇到这些情况
- 001 变成 1
- 从原 CSV 重新导入,把编号列设为文本;保留原 XLSX 对照。
- 备注里的逗号变成新列
- 检查 CSV 引号和导入分隔符;本例的北区, A组和批次 A,B各自仍在单列。
- 空字段变成 0
- 回到原 CSV和原 XLSX,区分空白、明确零和未适用。
- 长编号显示科学计数法
- 从原 CSV重新导入并把列设为文本;不要从已改变的工作簿中猜回原数字。
常见问题
CSV 里给 001 加双引号就不会丢零吗?
不能保证。引号负责字段转义,不负责列类型;Numbers实际全字段引号对照仍显示1。导入时把编号列设为文本。
CSV 导入后前导零丢失怎么恢复?
使用未改写的原 CSV重新导入,选择文本列。仅把当前显示格式改成三位,不等于恢复丢失字符。
逗号字段和前导零要一起处理吗?
分别处理。逗号和双引号检查 CSV 转义,001 检查目标软件的列类型;本例两项结果不同。
Numbers 的结果能代表 Excel 吗?
不能。本页只复现 Numbers 默认打开结果,Excel和WPS需在自己的版本中验证。
XLSX 和 CSV 应该保存哪一个?
两个都保留。XLSX便于追溯结构和文本类型,CSV满足接收方要求;不要用后者覆盖前者。
内容核对:2026-10-16 · 功能条件与配额以当前产品界面为准

