渲染与输出

稳定

exportExcel 与 exportPdf

稳定性:stable。两个方法都复用报表渲染链,但输出类型不同。

调用方式与方法签名

exportExcel(options, Vue?, format = ""): Promise<unknown>
exportPdf(options, Vue?): Promise<Blob>

参数与默认值

options.reportOptions 见权威表;exportPdf 可带 printOptions。exportExcel 第三参仅在非空时传给内部保存逻辑,可使用前在目标发布版本验证 xls / xlsx 支持,不依赖旧文档的绝对版本门槛。

返回值与异常

exportPdf 在当前 handler 中 resolve PDF Blob。exportExcel 的最终成功值来自 Builder 保存逻辑,调用方应以 Promise 成功/失败和实际文件为准。模板解析、数据请求或输出链失败时 Promise reject。

最小示例

const options = {
  reportOptions: {
    reportCode: "sales-summary",
    reportVersion: "1.0.0",
  },
};

await api.exportExcel(options, Vue, "xlsx");
const pdfBlob = await api.exportPdf(
  { ...options, printOptions: { viewPdf: false } },
  Vue,
);
console.log(pdfBlob.type);

iframe 模式差异

这些是顶层 ExportApi 方法,不依赖 mount({ iframe: true }) 返回的代理。若业务运行在 iframe,应明确由父页还是子页负责触发下载,避免浏览器拦截。

相关 API

reportOptions、printOptions。

常见错误

下载无反应时先检查 Promise 和浏览器下载策略;内容为空时检查报表数据,而不是只检查 Blob 是否创建。