稳定性: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
常见错误
下载无反应时先检查 Promise 和浏览器下载策略;内容为空时检查报表数据,而不是只检查 Blob 是否创建。
