如何使用Codeunit 8618 Config. Excel Exchange的Rapid Start导入Excel文件
方法选择建议
优先选择 ImportExcelFromPackage 方法,三个方法的适用场景差异如下:
ImportExcelFromPackage:专为标准Rapid Start配置包导出的Excel文件设计,方法内部会自动识别Excel内绑定的配置包元数据,自动匹配对应的表结构、字段映射规则,不需要额外手动传入映射参数,兼容性最高,是标准Rapid Start Excel导入场景的首选方案。ImportExcel:通用Excel导入方法,需要手动传入工作表序号、起始行、字段映射规则等大量参数,适合无对应Rapid Start包的自定义Excel导入场景,没有内置Rapid Start关联逻辑。ImportExcelFromConfig:需要预先传入已实例化的配置包Header记录作为参数,适合代码中已经明确指定配置包规则的场景,存在前置参数依赖,灵活度更高但适配性不如前者。
示例C/AL代码
// 变量声明 ConfigExcelExchange: Codeunit "Config. Excel Exchange"; ConfigPackage: Record "Config. Package"; FileInStream: InStream; ImportResult: Boolean; SelectFileName: Text; // 上传本地Rapid Start Excel文件 if UploadIntoStream('选择待导入的Rapid Start文件', '', 'Excel工作簿 (*.xlsx)|*.xlsx', SelectFileName, FileInStream) then begin // 匹配对应目标配置包,替换为你实际的配置包编码筛选条件 ConfigPackage.SetRange("Code", 'YOUR_TARGET_PACKAGE_CODE'); if not ConfigPackage.FindFirst() then Error('未找到编码为%1的配置包', ConfigPackage.Code); // 执行导入 ImportResult := ConfigExcelExchange.ImportExcelFromPackage(ConfigPackage, FileInStream, SelectFileName); if ImportResult then begin Message('Excel文件导入成功,可后续执行配置包数据应用操作'); // 如需自动应用包数据,可放开下方注释 // ConfigPackage.ImportPackageData(); end else Error('导入失败,请检查Excel文件是否为对应配置包导出的标准格式,未手动修改隐藏表头元数据'); end;
内容的提问来源于stack exchange,提问作者j2associates
相关产品推荐
相关产品推荐

