数据表是明确区域,还是工作表中的主表?
用 xlsx-range-extractor 指定 A1 区域或命名区域。需要按表头生成行对象时选 records,需要保留单元格地址时选 cell_objects。映射器和转换器读取工作表而不是任意区域;如果目标只是大表中的一段,就把提取结果作为检查或最终记录路径,不要假设后两个工具会自动遵守该区域。
Elysia Tools
导航
Workflow Playbook
面向一个工作簿或其中一个工作表的窄流程:选择区域、映射表头、把清洗后的表格转换为 JSON,并检查来源、类型、空值和重复行为;不扩展到批量导入或数仓交付。
专题
这条流程面向分析师、运营人员和开发者,用于把一个工作簿或一个工作表准备给 JSON 使用方。保留未修改的源文件,产出经过复核的 JSON 数组或有限区域预览。批量导入、API 或 S3 接入、多工作簿合并、SQL、Parquet 和数仓交付都不在本流程内。
写下工作表名、A1 区域或命名区域、表头行以及预期数据行数。需要每行成为对象时使用 xlsx-range-extractor 的 records 模式,需要地址和坐标作为证据时使用 cell_objects。只有当空单元格对复核没有意义时才开启去除空白。区域边界很重要:映射器和 JSON 转换器按工作表读取,不要把它们描述成支持任意区域的阶段。
在工作副本上用 xlsx-column-mapper 和实际表头行。把规范名称放入 renameMapJson,把别名放入 aliasMapJson,把目标顺序写入 reorderColumns,把确定要去掉的列写入 removeColumns,并在运行前决定 keepUnmapped。检查新 XLSX 的表头并保留原文件;映射输出是新工作簿,不是对源文件的替换。
当映射后的工作表表头位于第一行时,用 xlsx-json-transformer 的 xlsx_to_json 模式。固定工作表名和路径分隔符。restoreTypes 可能把看起来像数字、布尔值、null、数组或对象的文本转换成其他 JSON 值,而 XLSX 转 JSON 时空单元格会被省略。用代表性源行比较字段、类型、空值行为和重复键;工具不会替你决定重复或业务类型。
只有在每个差异都能解释,并且没有把批处理、外部接入、多工作簿、SQL、Parquet 或数仓问题带入这次单工作簿交付时,才接受结果。
工作流指南
制作工作副本,记录工作表和边界,然后运行 xlsx-range-extractor。表格要转成按行对象时使用 records,需要行列号和地址证据时使用 cell_objects。如果区域只是较大工作表的一部分,不要声称后续工具会自动只处理这一段。
用正确的 headerRow 运行 xlsx-column-mapper。应用明确的重命名或别名规则,选择规范顺序,只删除已记录的列,并决定是否保留未映射字段。继续之前先检查生成的 XLSX 表头。
对映射后的工作表运行 xlsx-json-transformer,并将 mode 设为 xlsx_to_json。指定工作表名,让嵌套键使用一致的路径分隔符;只有确实希望解析类型样文本时才启用 restoreTypes。预期结果是行对象数组,此方向不会输出空单元格。
结合三个工具的结果重新检查选定行和映射后的表头。比较预期与实际的行数、字段、代表性值、空值处理和重复键,保留源文件及中间 XLSX;无法解释的差异应停止交付或记录例外。
用 xlsx-range-extractor 指定 A1 区域或命名区域。需要按表头生成行对象时选 records,需要保留单元格地址时选 cell_objects。映射器和转换器读取工作表而不是任意区域;如果目标只是大表中的一段,就把提取结果作为检查或最终记录路径,不要假设后两个工具会自动遵守该区域。
当表格可以按一个工作表处理时使用 xlsx-column-mapper,设置正确的 headerRow,再用 renameMapJson 或 aliasMapJson 统一字段名,用 reorderColumns 指定顺序,用 removeColumns 明确删除列,并按字段契约决定 keepUnmapped。因为工具会写出新的 XLSX,要把源文件单独保留。
映射后的工作表表头在第一行时,用 xlsx-json-transformer 的 xlsx_to_json 模式。谨慎选择 restoreTypes:它可能把看起来像数字、布尔值、null、数组或对象的字符串解析成对应 JSON 值;此方向的空单元格会被省略,重复检查仍需按预期键或行规则人工比对。