04f 导出流程¶
状态:🟡 Excel 导出已实现;🟡 Access 导出平台受限
1. 操作入口¶
方式 |
入口 |
|---|---|
GUI |
导航「输出」→ |
CLI |
|
CLI |
|
2. 涉及配置¶
配置文件 |
关键字段 |
说明 |
|---|---|---|
|
导出参数 |
字段映射、样式 |
|
输出目录 |
导出文件存放位置 |
3. 涉及代码文件¶
层 |
文件 |
职责 |
|---|---|---|
View |
|
输出页面 |
Controller |
|
导出编排 |
Service |
|
合格证导出 |
Service |
|
输出保护(防误覆盖) |
Handler |
|
CSV 导出 |
Handler |
|
Excel 写入 |
Handler |
|
Excel 样式 |
Handler |
|
发货导出 |
Handler |
|
报告输出 |
CLI |
|
Excel CLI |
CLI |
|
Access CLI(🟡 平台受限) |
4. 逐步流程¶
4.1 Excel 导出¶
在查询页选择记录 → 右键「导出选中」→ action
export_selected→_export_selected或导航「输出」→OutputView设置条件OutputController调用CertExportService/ExcelHandlerExcelStyler应用样式(表头/边框/列宽)OutputGuard检查目标文件是否已存在,防误覆盖文件写入
output.yaml指定的输出目录
CLI:
certflow export-excel --filter "status=已发货" --out ./output/plan_202608.xlsx
4.2 Access 导出(🟡 仅 Windows)¶
导出到 SignDB.mdb(Access 数据库):
certflow export-access --out ./SignDB.mdb
限制:依赖 Windows Access ODBC 驱动。pyproject.toml:29 已注释 pyodbc("不支持 access 数据库");当前依赖 pyscape(已在依赖列表)。仅 Windows 环境可用。详见 08-todo.md T2-1。
4.3 发货导出¶
certflow mark-shipped --plan-no CF2026080001
certflow record-shipment --plan-no CF2026080001 --date 2026-08-04
对应 GUI 的 shipped_archive / shipped_export_delete action。详见 04i-history-archive.md。
5. 输出保护¶
OutputGuard 在执行写入前检查目标路径,避免意外覆盖已存在的导出文件。
6. 常见问题¶
Access 导出失败:确认 Windows + Access 驱动;非 Windows 环境不支持
样式丢失:检查
export.yaml样式配置导出被拦截:
OutputGuard拦截覆盖,修改文件名或确认覆盖