Excel

用户可以阅读的电子表格,但我却看不见

工作簿很少仅仅是屏幕上显示的内容。它包含隐藏的工作表、过滤的行、批注、已定义的名称以及某人在 BX 列中放置的任何内容。服务器端渲染意味着阅读者看到的是报告本身,而不是其背后的“考古”数据。

8
支持的电子表格扩展名
0
需要安装 Excel
0
隐藏工作表会发送到浏览器

问题

您发送的工作簿并非您本意发送的工作簿

电子表格是最容易泄露信息的格式。隐藏工作表中保存源数据,过滤的行会被取消过滤,数据透视缓存包含完整表格,谈判中的批注也可能被意外发布。

先转换为 PDF 可以解决泄漏问题,但会带来额外工作:需要有人执行转换,而且一旦工作簿更改,PDF 就会变得过时。

在服务器端渲染实时工作簿可以兼顾两者。阅读者看到的是作者意图的当前数据和格式,并且收到的是图像而不是带有底层数据的文件。

功能

查看器对工作簿的处理方式

保持格式

数字格式、条件格式、合并单元格、列宽和打印区域都会按原样渲染——而不是失去设计意义的普通 HTML 表格。

图表和嵌入图片

图表会与其数据一起渲染,而不会消失,这通常是粗糙转换中最先出现的问题。

全系列支持

.xls、.xlsx、.xlsm、.xlsb、.xltx、.xltm、.ods 和 .csv,均可通过同一打开调用处理。

分页如打印稿

输出遵循工作簿的页面设置,因此设计为四页打印的报告会显示为四页,而不是一个无限滚动的页面。

可搜索文本

使用 AdvancedSearch 插件,可在渲染的文档中搜索单元格文本。

浏览器中无公式引擎

计算在服务器端完成。客户端永远不会收到公式、已定义名称或依赖图,从而防止他人重建您的模型。

集成

打开工作簿

由于查看器受页面设置驱动,具有合理打印区域的工作簿渲染效果远好于从未打印过的工作簿。在指责渲染器之前,值得检查这一点。

支持的扩展名

.xls.xlsx.xlsm.xlsb.xltx.xltm.ods.csv
csharp
// 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");

详情

电子表格细节

  • 渲染遵循工作簿的页面设置——打印区域和缩放会影响结果。
  • 不需要安装 Excel,也不涉及 interop。
  • 跨单元格的文本搜索需要 AdvancedSearch 插件。

常见问题

公式会重新计算吗?

渲染反映工作簿中存储的数值和格式。客户端收到的是工作表的图像,永远不会得到公式或其背后的依赖图。

隐藏工作表和过滤行会怎样?

它们不会被渲染给阅读者,这也是团队倾向于使用此方式而非通过电子邮件发送文件的主要原因。工作簿的结构保留在服务器上,浏览器只获取页面。

它能处理非常宽的工作表吗?

可以,但结果仍受页面设置影响。未定义打印区域的工作表会因同样的原因而出现不自然的分页。

在您自己的文档上试用

临时许可证的申请只需几分钟,并且完全在您自己的机器上运行。重要的文件是那些已经导致您当前查看器出现问题的文件。