案例十三:将数据导入到GDIM
案例概述
本案例演示如何将 .gtb 或 .xlsx 文件写入 GDIM 项目。
你将学到
在 PipeLine 中连接文件读取与批量写表模块,生成可在 GDIM 上运行的 .pipe 应用。
用
ReadGtbFile读取.gtb/.xlsx文件,重建为TableCollection。用
validate_template_id校验文件模板 ID 与目标项目是否一致。用
GdimTableWriter将TableCollection批量写回 GDIM 项目。用
add_attribute暴露file参数,供前端上传导入文件。
实现思路
创建
PipeLine,设置workspace,并用log_in、proj_id调用update_gdim_state。创建
ReadGtbFile,设置validate_template_id=True;GDIM 运行时file由前端上传(dict格式),本地测试可传入文件路径。创建
GdimTableWriter,设置validation_level="full"做完整字段校验,raise_error=False使单表写入失败时不中止整个 Pipeline。将
OutputTables >> InputData连成链路,add_attribute暴露file供用户选择导入文件。save_pipeline保存.pipe并运行;本地测试时通过set_attributes(file=...)指定.gtb或.xlsx路径。
关键代码
本例关键在于读取导出文件并批量写回 GDIM,对应代码如下。
read_gtb = ReadGtbFile("ReadGtbFile")
read_gtb.validate_template_id = True
write_tables = GdimTableWriter("WriteGdimTables")
write_tables.validation_level = "full"
pipeline.add_links(read_gtb.OutputTables >> write_tables.InputData)
pipeline.add_attribute(
attr_name="file",
module_name="ReadGtbFile",
param_name="file",
attr_title="导入文件(.gtb 或 .xlsx)",
)
pipeline.set_attributes(file="examples/exportAllTableData/gdim_tables.gtb")
pipeline.run()
更进一步
完整代码请查看以下链接: