案例十二:导出GDIM表数据
案例概述
本案例演示如何将 GDIM 项目中所有表数据导出为 .gtb 或 .xlsx 文件,供外部系统交换、人工下载或二次导入使用。
你将学到
在 PipeLine 中连接读表、读取项目信息与批量导出模块,生成可在 GDIM 上运行的 .pipe 应用。
用
GdimTableReader不指定table_fields,读取项目全部表数据。用
GdimAppProjectInfoReader读取项目信息,获取导出所需的dataTemplateId。用
ExportGdimTables将TableCollection打包为gtb或xlsx文件。用
add_attribute暴露导出格式,return_results_config将输出文件返回前端。
实现思路
创建
PipeLine,设置workspace,并用log_in、proj_id调用update_gdim_state。创建
GdimTableReader,不设置table_fields,默认读取项目内所有表及全部字段。创建
GdimAppProjectInfoReader,从项目信息应用获取模板 ID,连入ExportGdimTables.InputTemplateId。创建
ExportGdimTables,设置 ``save_to_gdim=True``(若需在 GDIM 平台运行并回传文件)。add_attribute暴露format供前端选择gtb/xlsx,save_pipeline保存.pipe并运行。
关键代码
本例关键在于读取全部表数据、获取模板 ID 并批量导出,对应代码如下。
read_tables = GdimTableReader("ReadTables")
export_tables = ExportGdimTables("ExportTables")
export_tables.save_to_gdim = True
pipeline.add_links(
read_tables.OutputTables >> export_tables.InputTables
| read_project_info.OutputProjectInfo >> export_tables.InputTemplateId
)
pipeline.add_attribute(
attr_name="format",
module_name="ExportTables",
param_name="format",
attr_title="导出格式",
)
pipeline.set_attributes(format="gtb")
pipeline.run()
更进一步
完整代码请查看以下链接: