保持格式
数字格式、条件格式、合并单元格、列宽和打印区域都会按原样渲染——而不是失去设计意义的普通 HTML 表格。
问题
电子表格是最容易泄露信息的格式。隐藏工作表中保存源数据,过滤的行会被取消过滤,数据透视缓存包含完整表格,谈判中的批注也可能被意外发布。
先转换为 PDF 可以解决泄漏问题,但会带来额外工作:需要有人执行转换,而且一旦工作簿更改,PDF 就会变得过时。
在服务器端渲染实时工作簿可以兼顾两者。阅读者看到的是作者意图的当前数据和格式,并且收到的是图像而不是带有底层数据的文件。
功能
数字格式、条件格式、合并单元格、列宽和打印区域都会按原样渲染——而不是失去设计意义的普通 HTML 表格。
图表会与其数据一起渲染,而不会消失,这通常是粗糙转换中最先出现的问题。
.xls、.xlsx、.xlsm、.xlsb、.xltx、.xltm、.ods 和 .csv,均可通过同一打开调用处理。
输出遵循工作簿的页面设置,因此设计为四页打印的报告会显示为四页,而不是一个无限滚动的页面。
使用 AdvancedSearch 插件,可在渲染的文档中搜索单元格文本。
计算在服务器端完成。客户端永远不会收到公式、已定义名称或依赖图,从而防止他人重建您的模型。
集成
由于查看器受页面设置驱动,具有合理打印区域的工作簿渲染效果远好于从未打印过的工作簿。在指责渲染器之前,值得检查这一点。
支持的扩展名
// Same call, different family
string token = await viewer.OpenDocumentAsync("wwwroot/files/Q3-Report.xlsx");
// CSV goes through the same path — useful for data exports
// that users want to read rather than download
string csvToken = await viewer.OpenDocumentAsync("wwwroot/exports/ledger.csv");详情
渲染反映工作簿中存储的数值和格式。客户端收到的是工作表的图像,永远不会得到公式或其背后的依赖图。
它们不会被渲染给阅读者,这也是团队倾向于使用此方式而非通过电子邮件发送文件的主要原因。工作簿的结构保留在服务器上,浏览器只获取页面。
可以,但结果仍受页面设置影响。未定义打印区域的工作表会因同样的原因而出现不自然的分页。