GrapeCity Documents v6.0 Update1 发布,新增拷贝移动多工作表能力

2023/05/12 21:22

返回新闻中心

近日,GrapeCity Documents 正式迎来其V6.1 的发布更新,新版本新增了多个接口以及对 SpreadJS 的更多兼容支持。

下面我们将详细介绍 GrapeCity Documents V6.1 的新特性内容,在此之前,如果您已经在使用我们的GrapeCity Documents产品,想进一步了解新功能,请移步前往葡萄城官网下载最新版产品安装包,以便同步体验。 以下是本次发布的新特性内容:

GrapeCity Documents for Excel (GcExcel)

通过 Copy/Move 系列新接口,更方便的复制和移动 Worksheet

在某些场景下,需要复制或移动一个工作簿中某一个或几个表单(Worksheet),GcExcel(Grapecity Documents for Excel)在新版本中通过增加新的接口,支持试用代码的方式复制或者移动表单,具体接口如下:

复制 API 用于将工作表集合复制到其他位置。

  • IWorksheets.Copy(IWorkbook targetWorkbook = null) 用于将工作表集合复制到指定工作簿的末尾。 如果目标工作簿为空,工作表集合将被复制到当前工作簿。
  • IWorksheets.CopyBefore(IWorksheet targetSheet) 用于将工作表集合复制到指定工作表之前的位置。 目标工作表可以属于任何工作簿。
  • IWorksheets.CopyAfter(IWorksheet targetSheet) 用于将工作表集合复制到指定工作表之后的位置。 目标工作表可以属于任何工作簿。

移动 API 用于将工作表集合移动到其他位置。

  • IWorksheets.Move(IWorkbook targetWorkbook = null) 用于将工作表集合移动到指定工作簿的末尾。 如果目标工作簿为空,则工作表集合将移动到当前工作簿。
  • IWorksheets.MoveBefore(IWorksheet targetSheet) 用于将工作表集合移动到指定工作表之前的位置。 目标工作表可以属于任何工作簿。
  • IWorksheets.MoveAfter(IWorksheet targetSheet) 用于将工作表集合移动到指定工作表之后的位置。 目标工作表可以属于任何工作簿。

注意:

  • 不能将当前工作簿的所有工作表移动到另一个工作簿会导致异常。 将所有工作表移动到当前工作簿时,什么都不做。
  • 当目标工作簿中存在同名时,工作表将通过添加后缀(x)来重命名。 x 代表同名索引。

示例代码:

image

导出图片时,通过 ImageSaveOptions 调整输出图像

GcExcel 已经提供了一种使用 ToImage 方法将工作表、任何指定范围和各种形状类型转换为图像的方法。

GcExcel 现在还添加了 ImageSaveOptions 类,提供各种属性以在将工作表、范围或形状导出到图像文件时修改和调整图像。

有以下的选项:

  • ScaleX and ScaleY
  • Resolution
  • BackgroundColor
  • ShowRowHeadings
  • ShowColumnHeadings
  • ShowGridlines
  • GridlinesColor
  • ShowDrawingObjects
  • BlackAndWhite

接口

以下设置用于 IWorksheet、IRange 或 IShape ToImage()。

  • 使用 ImageSaveOptions.ScaleX 和 ImageSaveOptions.ScaleY 获取或设置比例。
  • 使用 ImageSaveOptions.Resolution 获取或设置 jpeg 文件 dpi,其他图像格式将忽略此属性。
  • 使用 ImageSaveOptions.BackgroundColor 获取或设置导出图像的背景颜色。
  • 使用 ImageSaveOptions.BlackAndWhite 获取或设置是否导出黑白图像。

以下设置仅用于 IWorksheet 或 IRange ToImage()。

  • 使用 ImageSaveOptions.ShowRowHeadings 或 ImageSaveOptions.ShowColumnHeadings 获取或设置是否显示行标题或列标题。
  • 使用 ImageSaveOptions.ShowGridlines 获取或设置是否显示网格线。
  • 使用 ImageSaveOptions.ShowDrawingObjects 获取或设置是否显示绘图对象(图表、形状和图片)。
  • 使用 ImageSaveOptions.GridlineColor 获取或设置网格线颜色。

添加一组支持 ImageSaveOptions 参数的新方法。

  • 使用 IWorksheet.ToImage(string imageFile, ImageSaveOptions options) 或 IWorksheet.ToImage(Stream stream, ImageType imageType, ImageSaveOptions options) 使用选项将工作表导出到图像文件。
  • 使用 IRange.ToImage(string imageFile, ImageSaveOptions options) 或 IRange.ToImage(Stream stream, ImageType imageType, ImageSaveOptions options) 使用选项将范围导出到图像文件。
  • 使用 IShape.ToImage(string fileName, ImageSaveOptions options) 或 IShape.ToImage(Stream stream, ImageType imageType, ImageSaveOptions options) 使用选项将形状导出到图像文件。

代码示例

image

以下代码设置导出工作表图像的背景颜色并设置网格线颜色

image002

支持直接加载和保存 Xltx 文件

xltx格式文件是Excel提供的模板文件,xltx文件可以用来预设一些样式和数据,我们可以使用模板文件创建具有相同样式和数据的 xlsx 文件。

您现在可以直接在 GcExcel 中加载 Xltx 文件,修改并保存回来。 GcExcel 在 I/O 上支持新的 Xltx 文件格式。

Workbook.open 和 Workbook.save 方法现在接受新的 XltxOpenOptions 和 XltxSaveOptions 类来加载 XLTX 工作簿或将其保存回工作簿。 您可以从文件或文件流加载或保存 Xltx。

image004

以下代码使用 GcExcel 打开和保存 .xltx 文件。

image005

GrapeCity Documents for PDF(GcPDF)

新的 ClonePage 方法

在使用 GcPdf API - GcPdfDocument.MergeWithDocument 方法之前可以合并 PDF 文档。 随着 v6.1 版本的发布,还可以在 PDF 文档中克隆页面。 使用新的 PageCollection.ClonePage(..) 方法在特定索引处复制 PDF 的页面,并将其放置在同一 PDF 中的另一个索引处。 您还可以控制是否在克隆页面中包含注释或表单字段。

以下代码可用于克隆页面。第一个参数指定需要克隆的页面的索引,而下一个参数是克隆页面将插入的目标索引。 这里省略了可选参数cloneAnnotations和cloneFields。 它们默认为 true,因此任何注释和字段也将被克隆。

image
image

GrapeCity Documents for Word (GcWord)

GcWord 模板

增强了对在聚合函数中使用多个表达式的支持

在上一版本中,我们使用新的“calc”模板功能向 GcWord 报告模板添加了计算,该功能允许在类似 VBA 的表达式中使用模板数据字段和文字。Calc 表达式支持算术、逻辑和其他常用运算符、文本和数据聚合函数等。

现在可以将表达式用作聚合函数的参数。表达式可以在函数中使用常量、聚合或两个集合。

现在可以进行以下计算 -

  • 使用常量 - \{{ calc Sum(2 + ds.value)}}
  • 在聚合函数中使用聚合 - \{{ calc Average(ds.value+Sum(ds.value)/2)}}
  • 在函数中使用两个集合 - \{{ calc Average(ds.value+ds2.value)}}

请查看以下发票报表,其中发票总和是通过在聚合“总和”函数中使用多个表达式计算的。

image
添加基于集合的状态函数

GcWord 模板现在支持以下集合状态函数:IsFirst、IsLast、可应用于迭代范围的索引。这些函数返回集合上当前迭代的状态。在 Word 报表中,可以实现如下方案 -

  • 仅显示集合的偶数元素。
  • 显示元素数和当前元素数。
  • 检查单词是集合中的第一个元素还是最后一个元素。
  • 在某个位置插入一个单词。

下面的代码在集合的末尾插入一个单词。

var p = doc.Body.Paragraphs.Add("\{{if IsLast(ds)}} Employee List \{{endif}} \{{ds.value}}", doc.Styles[BuiltInStyleId.ListParagraph]);
支持 Word (.docx) 文件中的链接样式

此功能将允许开发人员使用新的 GcWordDocument.Styles.AddLinkedStyle 方法将链接样式应用于 Word 文档中的两个段落或运行。还添加了一个布尔属性 HideLinkedCharacterStyles,可用于隐藏链接的字符样式。

您可以将链接样式应用于以下 API -

  • Run.Style - 添加一个运行并为其设置链接样式
  • ContentControl.Style - 将链接样式设置为内容控件
  • FormattedMark.Style - 将链接样式设置为段落的标记(用于表示段落段落标记的物理位置的字形)
  • FindFormatting.Style - 创建查找选项并为其设置链接样式

“以下”将通用链接样式应用于段落和段落的一部分,即运行。请注意,链接的样式反映在 MS Word 的样式列表中。

image
image
支持形状和字体中的三维效果

GcWord 现在支持 API 中形状和字体的 3D 效果。

GcWord 的 TextFrameFormat 和 Effects 类已扩展为 ThreeDFormat 和 ThreeDScene 效果。

类在字体或形状上设置三维格式属性。

ThreeDScene 类将 3D 场景效果应用于对象,如照明、摄像机、背景等。

字体、形状、组合形状和图片类具有新的 ApplyEffects Preset 方法,用于设置文本和形状的内置效果。

以下快照显示了文本上的三维格式设置,这些设置反映在生成的 Word 文档中。

image

以下快照显示了应用于形状的三维格式以及三维旋转设置,这些设置反映在生成的Word文档中。

image

关于葡萄城

葡萄城成立于1980年,是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,服务超50万家客户,产品广泛应用于IT、制造、交通、建筑、金融、能源、教育、公共管理等支柱产业。