近日,葡萄城GrapeCity Documents for Excel【以下简称:GcExcel】(服务端Excel组件)正式发布新版本 V3.0。该版本引入了诸多全新功能,如加入直接生成Excel报表的模板、对于Excel 2016版本的图表支持、PDF导出时的图表支持(仅在.NET版本中)、新的形状,以及与纯前端表格控件SpreadJS的更多集成功能。
作为一款基于服务器的文档 API 组件,GcExcel兼容所有 Java 及 .NET开发平台,以编码的方式,无需任何插件依赖 ,即可快速批量操作 Excel 文件,通过与纯前端表格控件 SpreadJS 结合使用,可同时在 Web 端实现 Excel 类数据展示、Excel 功能和布局样式,以及后端 Excel 导入导出等业务场景。
以下是 GcExcel V3.0的主要更新内容,请下载最新安装包,以便同步体验。
>> GrapeCity Documents for Excel(Java) V3.0 下载地址
>> GrapeCity Documents for Excel(.NET) V3.0 下载地址
一、使用模板,创建Excel报表更加简单
借助模板,开发人员无需从零设计复杂的Excel报表,并可直接绑定来自其他数据源的数据。GcExcel的模板引入了完整的语法、数据扩展符、Excel公式支持和API,可用于生成具备交互式分析,以及数据绑定的类Excel报表。
通过 GcExcel 的 API 可以直接将设计好的报表文件保存为 .xlsx 格式或 PDF。
开发人员可以使用GcExcel的模板语法,直接在Excel中创建模板,如自定义数据库字段、变量和公式等。
在模板的任何位置,都可以使用动态字段替换需要显示的信息,如使用Workbook.AddDatasource()方法在工作簿中绑定数据源,结合Workbook.ProcessTemplate()方法,自动匹配数据库字段,并替换为实际数据。
基于Visual Studio Tools for Office(VSTO)的Excel API和模板支持,您可以生成更加完整且专业的Excel报表,用来分析数据和分发。
GcExcel的模板功能可在任何平台上正常运行:Windows、Linux或macOS。
GcExcel可用于设计以下报表类型:
- 行报表(Line reports)
- 邮件合并报表(Mail-merge reports)
- 交叉表(Cross-table reports)
- 主子表(Multiple reports in one report)
- 矩表(Tablix reports)
- 收据(Receipt reports)
- 销售报告(Sales reports)
- 采购订单(Purchase order reports)
- 发票(Invoice reports)
- …
采购订单示例
为了合理的控制项目预算,采购订单的应用场景十分常见,它可以清楚地传达待采购项目、协议、价格和数量。采购订单通常以Excel电子表格或PDF的形式发送。
由于采购订单每天都会产生,因此一个自动化的管理流程尤为重要,许多公司都会采用从数据库中动态获取供应商和发货信息的方式,分别生成不同的采购订单。
开发人员可以直接使用GcExcel的模板,在Excel中创建采购订单,该模板支持 Mustache 语法:“{{” 和 “}}” 来设置数据字段:
使用以下代码,数据字段将自动绑定以生成最终采购订单。
Workbook reportBook=new Workbook();
reportBook.Open("template.xlsx");
/*Code to add the data table*/
reportBook.AddDataSource("exp", dt);
reportBook.ProcessTemplate();
reportBook.Save("PurchaseOrder.xlsx");
reportBook.Save("PurchaseOrder.pdf");
模板功能的主要特性
GcExcel模板支持多种高级功能,可以创建从简单到复杂、满足不同业务场景的报表:
- 支持简单的语法
- 可定义数据扩展方向
- 可定义用于数据扩展的上下文
- 可定义数据范围
- 支持从多个数据源中添加数据
- 支持分组数据
- 支持大纲组
- 可指定嵌套的数据字段
- 可定义公式函数
- 可定义排序表达式
- 可定义表达式字段
- 自定义样式
- 支持在一个工作表中插入多个报表
- 支持添加分页符
- 可设置内联字段
- 可在工作表的名称中添加模板字段以生成多张工作表
更多API文档和示例:
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
二、支持将具有图表的Excel电子表格转换为PDF
图表是Excel电子表格中的重要功能之一。财务、销售、市场营销和医疗保健等的大多数Excel文档都会使用Excel图表分析、提取和汇总数据。
GcExcel可以将包含柱形图、折线图、饼图、条形图、面积图、XYScatter图、股票图、雷达图和组合图等图表的Excel文档转换为PDF。
注意:目前,此功能仅支持在 GcExcel 的 .NET Edition 中使用。
三、支持将具有切片器的Excel电子表格转换为PDF
Slicers(切片器)是一种快速有效的数据过滤方法,通过易于使用的可视化过滤器,用户可以快速过滤表格和数据透视表中的数据。在GcExcel中,支持将具有切片器的Excel电子表格转换为PDF。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
四、新的Excel 2016图表类型
在GcExcel最新版本中,支持将Excel 2016的图表类型添加到Excel文件的功能。使用这项功能,可有效提升Excel的数据可视化效果,比传统图表更容易展现并分析数据结构。
GcExcel为这些图表增加了很多个性化功能,带来了比传统的MS Excel图表更专业的分析方式。
如需使用新的图表类型,请将ChartType属性设置为所需的图表,配置图表属性,数据将在首选图表中进行展示。
树状图
对于分层数据来说,树形图是最理想的数据可视化选择。
树状图将层次信息显示为大小和颜色不同的矩形簇,而其大小和颜色取决于它们的数据值。其中,每个类别都被分配了一个矩形区域,其子类别矩形嵌套在父类别中。
下面的图表是使用GcExcel创建的,在这个示例中,每个销售人员的月销售额一目了然。如果将鼠标悬停在任何矩形上,将显示每个销售员的具体销售额。
旭日图
与树形图类似,旭日图也同样用来显示数据的层次结构,以及比较数据相对大小。此外,树形图还可显示父组和子组之间的链接。层次结构的每个级别由一个圆环或一个圆圈表示,越里面的圆圈表示数据的层级越高。
使用GcExcel,您可以创建如下图所示的图表。该图表的数据源与上面的“树形图”图表相同,但以环形排列,最里面的环形显示“四分之一”,下一个环形显示月份,外环显示销售人员的姓名。如果将鼠标悬停在外圈的切片上,则显示每个销售人员的销售量。
直方图和帕累托图
直方图通过以图形的方式汇总不同时间间隔的大型数据集,有助于快速决策。直方图是显示频率数据的柱状图,每列表示一定范围内元素的频率。
帕累托或排序后的直方图图表包含以降序排序的列和代表累计总百分比的行。使用GcExcel中的直方图图表类型,您可以创建直方图和帕累托图。
下面的示例显示班级学生身高的频率分布。
箱形图
箱形图又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况的统计图,突出显示均值和离群值,其中垂直延伸的线,又称为“须”。
这些线表示上四分位数和下四分位数之外的可变性,这些线或须之外的任何点都被视为离群值。
使用GcExcel,您可以通过Axis和Series属性来设置箱形图图表,例如ShowInnerPoints,ShowOutlierPoints,ShowMeanMarkers,ShowMeanLine和QuartileCalculationInclusiveMedian。
瀑布图
瀑布图也被称为Excel桥梁图,可用于分析数据差异。
使用瀑布图可以评估公司的利润或收益,或者分析公司的销售或库存数据,因为它显示了初始值受到负值或正值的影响。列采用颜色编码,可以快速看到正值和负值之间的差异性。
以下是使用GcExcel创建的瀑布图图表,显示了公司的利润分析。如果将堆积柱形图图表模板应用于这些特定值,则不会获得与瀑布图相似的结果。
漏斗图
漏斗图使用户可以快速可视化线性过程中的阶段变化。
漏斗图用于显示销售过程时,可以迅速定位潜在的问题区域。漏斗由称为头部(或底部)的较高部分组成,而下部称为颈部,显示的值按比例递减,总计为100%。
下图显示了公司一年中的订单履行评估。
五、保存为PDF时,支持安全选项
安全选项在PDF文档中的使用情况十分普遍,而这也是PDF格式受欢迎的原因之一。
通过设置安全选项,保证敏感信息无法共享或修改。现在,用户可以通过调用PdfSaveOptions.SecurityOptions方法设置这些选项,然后使用GCExcel将文档转换为PDF。
安全选项包含:
- 所有者密码
- 用户密码
- 印刷许可
- 填写表格权限
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
六、保存为PDF时,支持文档属性
长期归档文档时,会为PDF文件定义某些文档属性(例如,创建者、标题、作者、创建日期等)。这些属性提供了有关文档的其他描述,在搜索文档时特别有用。
在GCExcel中,将Excel电子表格保存为PDF时,可以通过PdfSaveOptions.DocumentProperties方法插入文档属性,包含:
- Pdf版本
- EmbedStandardWindowsFonts
- 标题
- 作者
- 学科
- 关键词
- 创作者
- 制片人
- 创立日期
- 修改日期
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
七、保护工作簿
此功能可以保护工作簿免于使用IWorkbook.Protect()方法进行修改。
GCExcel提供的保护操作有:
- 查看隐藏的工作表
- 添加、移动、删除、隐藏或重命名工作表
- 调整或关闭工作簿窗口的大小以及隐藏/取消隐藏窗口
同时,使用 IWorkbook.Unprotect()方法,也可用于从工作簿中删除保护。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
八、图表表单
有时,当您将所有数据和图表容纳在一张纸上时,您的空间可能不足,通过使用GCExcel的图表工作表选项,您可以将图表移动到自己的工作表中。此选项可帮助用户添加仅包含图表的工作表,这一点在打印时也很有用,可以用来更改页面方向,以便更详细的阅读图表内容。
GCExcel的图表表单支持以下功能:
- 添加带有主图表的图表
- 可为主图表添加自定义形状,包括形状样式、图表、图片、连接器
- 为主图表或自定义形状创建副本
- 从图表中删除主图表,或从主图表中删除自定义形状
- 复制并移动图表
注意:请使用IWorksheets.Add(SheetType.Chart)创建图表。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
九、更多形状特性:插入超链接、分组/取消分组形状
除了将形状添加到Excel文件之外,使用GCExcel还可以向形状添加不同的功能,如下所示:
将超链接添加到形状:形状上插入超链接对于将形状链接到网页、外部文件以及文档或电子邮件时非常有用。使用GcExcel,您可以将超链接插入到形状、图表、连接器、图片和组合形状中。
支持分组、取消分组形状:分组形状是Excel的一项标准功能,主要应用于流程图中。形状分组有助于一次将形状属性应用于整个组。您可以使用GcExcel 的API对特定范围内的形状、图片或任何其他对象进行分组/取消分组操作。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
十、计算大纲小计
GcExcel 的API添加了类似MS Excel的功能:计算大纲小计。此功能有助于避免手动处理组和小计的值。
您可以通过定义简单的参数自动将重复数据分组并计算小计。通常来说,用户习惯于优先创建组功能,然后通过代码在特定位置添加小计字段。使用GcExcel,当出现带有排序列的平面数据时,便会自动创建组,并在排序列上计算小计,以添加到工作表的单元格中。
使用单个IRange.Subtotal方法并传入一些简单的参数即可完成上述操作。例如,指定按字段分组、小计功能、在小计方法中应用小计的字段列表等。
此外,您还可以通过编程的方式替换现有的小计结果,在每个小计之后添加分页符以控制Excel电子表格的布局,并在小计字段下方指定汇总位置行。
用户还可以控制从现有的工作表中删除小计。
下面的示例是使用图片中的选项,来创建范围“ A1:C9”的小计:
_worksheet.Range["$A$1:$C$9"].Subtotal(2, ConsolidationFunction.Count, new[] { 2 });
该代码的运行结果为:
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
十一、获取公式单元格的引用和依存关系
GcExcel的公式可以应用于特定的单元格,或引用某个单元格范围。以下两个新的API可以帮助用户检索单元格引用范围和其影响的单元格公式。
- 使用IRange.GetPrecedents(),获取当前区域的左上角单元格所依赖的所有内容
- 使用IRange.GetDependents(),获取依赖于当前区域的左上角单元格的所有内容
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
十二、形状调整
可以使用GcExcel的IShape.Adjustments API来调整形状,可以针对整个形状进行统一更改。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
十三、支持将表的背景图像转换为PDF
在背景图像的支持下,您可以将公司徽标、水印或其他任何与工作表数据相关的背景图像插入到工作表中。
现在,用户可以选择将Excel电子表格转换为PDF时是否包含背景图像,通过简单的布尔属性PdfSaveOptions.PrintBackgroundPicture即可实现。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
十四、将具有多个图像的Excel文件导出为更小尺寸的PDF
引入此功能的目的是使GcExcel在处理带有多张图片的Excel文件时更加高效。
如果在Excel文件中多次使用某张图片,则GcExcel在导出PDF时将只保留该图片的一个副本,以减小文件大小。
十五、支持纯前端表格控件SpreadJS的功能
为了更好地与纯前端表格控件 SpreadJS 产品集成,本次更新,在GcExcel API中添加了如下属性。
现在,您可以创建Excel文档并直接应用这些属性,当然,执行导入/导出SSJSON时,也支持这些功能。
添加单元格标签
Tag属性可以附加到电子表格的单元格/行/列/工作表中,其中包含特定种类的数据,以及与该数据相关的选项和建议。您还可以实现从SSJSON导入/导出时,带有简单数据标签。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
添加单元格类型
单元格类型定义了单元格中数据的类型、显示方式以及如何与用户交互。
Excel具备了多种单元格类型:数字、复选框(三种状态)、按钮、组合框和超链接等。
在GcExcel中,也同样支持如下单元格类型:复选框、按钮、超链接和组合框,它们可以设置为某一单元格或区域范围,还可以使用IRange.CellType API 来检索这些单元格或范围的类型。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
将Excel文件导出为PDF时,支持最佳拟合列/行的API
如果文本的宽度或高度太长而无法容纳在单元格内,则在将Excel电子表格导出为PDF时,可以通过 IPageSetup.BestFitColumns 或 IPageSetup.BestFitRows API帮助调整列宽或行高。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
以上就是GrapeCity Documents for Excel(服务端Excel组件)V3.0新版本的主要内容,如需了解GrapeCity Documents针对Word和PDF文档组件的更新项目,欢迎访问GrapeCity Documents产品官网。