服务端表格组件 GrapeCity Documents for Excel 更新说明

1. 数据导入(Import Data)

使用数据导入(ImportData)接口,当您需要从 Excel 文件中提取数据时,不再需要加载整个 Excel 文件。借助此功能可以更快、更有效地同时从多个Excel文件中导入数据。

2. 动态数组公式接口(Dynamic Array Formula)

Microsoft Excel 在 2018 年推出了动态数组公式的概念:可基于一个公式将多个结果返回到一个单元格区域中,为此动态数组公式也被称为溢出范围功能。动态数组公式通过删除重复项、对列表进行排序、输出筛选的数据范围等来创建唯一值的列表,以确保现有函数可以利用相同的溢出范围功能。

GcExcel 在本次更新中也增加了动态数组公式接口(可通过 IRange.Formula2 属性设置,如下图所示)。

3. 上下文批注(Threaded Comments)

在 Excel 中,上下文批注被广泛应用于组内讨论和响应,该功能支持回复内联、嵌套注释,以及将多个批注串联在一起的对话样式,该功能在 GcExcel V5.0 中被正式引入。

GcExcel 添加了 IWorksheet.CommentsThreaded 集合以处理 Excel 文档中的上下文批注,特别是添加回复、删除批注、导航批注等。新的 IRange.AddCommentThreaded 方法将帮助向范围添加上下文批注,而 IRange.ClearCommentsThreaded 将帮助清除范围中的上下文批注。

假设两个或多个用户对多个 Excel 文件有一个共同的上下文批注(如下面的示例所示)。新的 API 将帮助以编程方式添加上下文批注,以涵盖多个 Excel 文档。

4. 区域快照(Linked Picture)

借助区域快照,可将不同大小的图表、数据表、条件格式等全部组合在一个工作表中,不仅可以适应大小,而且当数据更改时,区域快照中的数据也会更改。

GcExcel也支持了区域快照功能(IShapes.AddCameraPicture),该功能支持如下属性:

  • IPictureFormat.TransparentBackground { get; set; }: 设置指定的区域快照格式是否使用透明背景
  • IPictureFormat.Reference { get; set; }: 设置当前区域快照的引用

使用代码添加一系列数据的区域快照示例:

5. 工作簿视图(Workbook Views)

标准的 Microsoft Excel 视图可以根据要分析的内容进行更改。例如,"页面布局"视图可帮助您可视化文档在打印时的外观,而"分页符"视图则显示分页符的显示位置。

如果打开多个文档时需要显示公共视图,GcExcel 允许以编程方式对其进行控制(借助IWorksheetView.ViewType 属性来定义三个预定义视图:"普通"、"页面布局"和"分页预览")。

除了内置视图外,在 Excel 中,用户还可以自定义视图。使用自定义视图,您可以建立显示和打印设置,例如无网格线或标题、特定边距和特定工作簿视图等,并将其应用于其他电子表格中。为了适应 Excel 的这一功能,GcExcel 也引入了新的 ICustomView 界面和集合 IWorkbook.CustomViews,以将自定义视图添加到工作表中。

如下所示,将工作表的默认视图类型设置为 "分页预览":

6. GETPIVOTDATA 函数

虽然数据透视表可以显示大量数据,但用户可能只想根据数据透视表检索特定的数据结构,而非单元格引用,这就可以利用 GETPIVOTDATA 函数来完成。

只要引用的字段仍然存在,GETPIVOTDATA 函数即使在数据透视表更改时也能正常工作。GcExcel 支持 GETPIVOTDATA(...)函数和新的IRange.GenerateGetPivotDataFunction(IRange destination = null)方法,来为不同的工作表生成 GETPIVOTDATA 函数。

7. 与 SpreadJS 兼容相关:支持表格 expandBoundRows 接口

GcExcel 支持 SpreadJS 的 API 来扩展表中的绑定行(ITable.ExpandBoundRows 属性)。

如果将该属性设置为 true,则在更改数据时将添加或删除整行以调整行计数。如果设置为 false,则应用 Microsoft Excel 策略,即不允许在数据源发生更改时添加或删除行计数。

8. 直连打印机打印(仅针对 .NET)

到目前为止,在 .NET 标准应用中工作的跨平台 API 在使用"打印"命令时都面临着挑战。这一挑战主要是由于打印 API 可用性带来的限制。在当前版本中,GcExcel 添加了一个新的打印 API,可以实现将 Excel 文档直接打印到 Windows 平台的物理打印机上。

GcExcel 的新接口 IWorkbook.PrintOut 和 IWorksheet.PrintOut 可以调用物理打印机来打印工作簿或工作表,不仅支持打印,还可以提前设置其他选项。

请注意:GcExcel 使用了 GcPDF 将工作簿输出到打印机,要在 Windows 上使用 GcPDF 的打印功能,需要引用软件包 GrapeCity.Documents.Imaging.Windows。

代码如下所示:

 

服务端 PDF 组件 GrapeCity Documents for PDF 更新说明

1. 支持 SVG 矢量图

与 JPEG、PNG 等经典位图图像格式相比,SVG 格式的矢量图像可以以任何尺寸渲染而不会降低质量,因此,该格式使设计人员和开发人员能够对图像外观进行大量修改。

SVG 是 Web 图形的标准化格式,可与其他 Web 约定(如 HTML、CSS、JavaScript 和文档对象模型)配合使用。由于 SVG 的许多优点,在文档(如 PDF 和图像)中使用 SVG 图像至关重要。

在 GcPDF V5.0 中,引入了一个新的 GcSvgDocument 类,该类可以创建、加载、检查和修改 SVG 图像的内部结构。您还可以从文件、流或字节数组中获取图像,并使用 GcGraphics.DrawSvg 方法将 SVG 图像绘制到 GcPdfDocument、GcBitmap 或 GcWicBitmap 类。

所有 SVG 功能(包括访问 SVG DOM)在 GcPDF 都完全可用。

示例代码:

2. 创建 SVG 图像并渲染为 PDF 文档

3. 可访问 SVG DOM

GcPDF 提供了对 SVG 文档对象模型的完全访问权限,目前已支持以下元素:svg、g、defs、样式、用法、符号、图像、路径、圆形、椭圆、线、多边形、折线、矩形、剪辑路径、线性渐变、停止、标题、元数据、desc 等。

4. 在 Windows 上打印 PDF 文档

用户在使用 GcPDF 的 API 处理 PDF 文档时可以打印数字文档,借助 GcPrintManager 属性,可以编程方式使用 Direct2D 在 Windows 平台上打印 PDF。

示例代码:

5. 线性化现有 PDF 文档

线性化("快速 Web 视图")PDF 用于 Web 应用程序,可以加快打开大型文档的速度。GcPDF 支持在 .NET 应用程序中对新的 PDF 文档进行线性化,同样支持使用枚举类型为"Linearized"的新"SaveMode"枚举来线性化任何现有的 PDF 文档。

6. 新的保存模式枚举

GcPDF 现在支持三种不同的模式,在这些模式下,可以使用新的"保存模式"枚举来保存 PDF 文档:

  • 默认值:保存的文档不会线性化或通过增量更新进行保存
  • 线性化:PDF 文档以线性化形式保存,针对 Web 视图进行了优化
  • 增量:在 PDF 文档中执行的所有更改都将添加到现有文档中。向已签名的 PDF 文档添加签名时,通常使用此模式

新的重载已添加到 GcPdfDocument.Save 和 GcPdfDocument.Sign 方法中。这些重载现在将采用 SaveMode 枚举值来线性化或不线性化文档,同时保存方法。

 

服务端 Word 组件 GrapeCity Documents for Word 更新说明

1. 支持基元类型和字符串的数组作为报表模板的数据源

2. 自定义和嵌入字体

使用 GcWord 可以在 MS Word 文档中定义和嵌入字体,即使系统上缺少字体也会正常显示。使用新的字体 API,将享受如下功能:

  • 允许用户在文档中定义和嵌入任何字体,因此即使本地系统中缺少字体,Microsoft Word 也会正确呈现文档
  • 允许用户读取和使用字体数据进行 Word 文档呈现
  • 允许用户从 Word 文档中查找和删除嵌入字体
  • 获取有关 Word 文档中使用的 ThemeFont 类属性的详细信息

以下新增功能已添加到 GcWord 支持的字体 API 中。

具有新属性的扩展主题字体类:

  • 添加新的 FontInfo 类
  • 添加表示 FontInfo 集合的新 FontInfoCollection 类
  • 添加新的 FontSignature 类以支持 FontInfo.Signature 属性
  • 添加新的 EmbeddedFont 类以支持 FontInfo.Embedded 属性
  • 添加表示 EmbeddedFont 集合的新 EmbeddedFontCollection
  • 将 Fonts 属性添加到 DocumentBase 类以访问 FontInfoCollection
  • 用户可以管理 GcWordDocument 和 GlossaryDocument 类中的字体

下面的代码将 Times New Roman 字体嵌入到 DOCX 中,自定义名称为"我的字体 1":

历史版本

查看更多关于 GrapeCity Documents 服务端文档组件库的历史版本。