GrapeCity Documents for Excel 文档API组件 V2.2 正式发布,本次新版本包含诸多重量级产品功能,如:将带有形状的电子表格导出为 PDF、控制分页和电子表格内容、将Excel电子表格的特定页面打印为PDF、在工做簿之间剪切和复制工做表等。html
做为一款适用于 .NET 和 Java 6.0+ 标准的文档API组件,GrapeCity Documents for Excel 经过编码的方式,无需依赖 Microsoft Excel ,便可超快批量操做 Excel 文件,与纯前端表格控件 SpreadJS 结合使用,可同时在 Web 端实现 Excel 类数据展现、Excel 功能和布局样式,以及后端 Excel 导入导出等业务场景,使您开发的应用程序具有快速建立、加载、编辑、导入/导出大型 Excel 文档的功能模块。前端
点击此处,下载最新版 GrapeCity Documents for Excel (Java)java
点击此处,下载最新版 GrapeCity Documents for Excel (.NET)web
使用 GrapeCity Documents for Excel,您能够将带有形状的电子表格导出为 PDF,这些形状包括箭头、线条、图片和通常默认形状(包括 MS Excel 的内置形状)。利用这一特性,开发人员能够建立更为有趣且丰富的 Excel 工做表。编程
导出的 PDF 中支持的形状属性包括:后端
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例安全
GrapeCity Documents for Excel 经过引入一个名为 PrintManager 的类来控制分页、导出 PDF 和控制电子表格输出的内容,该功能经过在 PageInfo 对象中提供用于分页结果的用户信息,以及经过 PrintManager.Paginate 方法从 Excel 文件生成的页面列表中,实现将 Excel 的特定部分导出到 PDF 文档中。该功能可执行如下操做:ruby
该功能的实现步骤包括:app
经过 GrapeCity Documents for Excel 提供的这项功能,可有效解决将 Excel 文件转换为 PDF 时的分页、页面布局、页面设置等问题。ide
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
一份完整的报表一般是由文本描述、数字和图表组合而成。以财务报表举例,完整的财务报表可视为公司业务活动和财务业绩的混合体,为保证其数据的准确性、不可编辑性与安全性,一般会以 PDF 文档的格式分发给客户,尽量地保留原始文档的质量和数据。
此报表用 Excel 的方式展现了公司现金流、净收入等数据。Excel 方式的最大特色就是以表格的形式显示数据,为了进行二次分发并保证此报表数据的真实性,可经过 GrapeCity Documents for Excel 文档API 来将 Excel 数据转换成 PDF,也可提取 Excel 表中某一工做簿的位置在 PDF 文件中进行渲染。
经过使用 GrapeCity Documents for Excel 的 PrintManager 类从 Excel 中提取数据,并经过 GrapeCity Documents for PDF 的 API 导出到 PDF 中。
注意:要使用此功能,您须要同时得到 GrapeCity Documents for PDF 和 GrapeCity Documents for Excel (.NET版本)的许可受权。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档
有时,咱们不须要打印全部页面,只须要从 Excel 文件中打印指定的页面信息。例如如下场景,贵公司有一份年度产品和销售清单,并经过数据透视表进行分析。您能够根据须要查看特定客户的销售额和产品总销售额,但只需将数据透视表的数据分析结果打印为 PDF,以便分发给利益相关者。这时,就会用到将 Excel 电子表格的指定页面内容打印为 PDF 功能。
在下面的文件中,公司但愿打印 Page 五、Page 6 和 Page 7 部分,而且在打印结果中,以连续页码 一、二、3 呈现。
您能够从 PageInfo 对象中选择特定的页面内容,而后使用 PrintManager.UpdatePageNumberAndPageSettings(..)方法设置连续页码。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
有时,表数据须要在同一张纸上打印,而不是单独打印在一个新的页面上。特别是,当合并单元格时,用户不但愿合并的行数据在打印时被分割在不一样的页面上。使用 KeepTogetherRanges 类能够帮助您设置,打印时将同一张表的数据保持在一张纸上。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
Excel 工做簿中可能同时包含多个工做表的数据。例如,在公司的每个月预算的详细信息中,每个月摘要位于第一个工做表上,而每个月预算详细信息则位于单独的工做表中。在这种状况下,可以将单页数据分发给公司股东是最佳状况。
所以,将多个工做表内容打印到 PDF 中的单个页面将很是有用,经过 GrapeCity Documents for Excel 的 PrintManager 类与 GrapeCity Documents for PDF 的 API 相结合能够顺利完成该任务。PageInfo PrintManager 的对象可以获取 Excel 文档的全部页面,经过 PrintManager.Draw(..)能够查看页面在 GrapeCity Documents for PDF 中的呈现方式,如 n 行 n 列的布局。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
打印 PDF 时,若是工做表中有多个表,则可能须要在全部页面上重复表标题。用户能够指定当各个表溢出到其余页面时重复当前表的标题。
使用 RepeatSettings 类,能够访问特定表的标题、尾部行、列、表头和结尾。您还能够在 PrintManager.Paginate(..)方法中发送 RepeatSettings 等。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
在任何行业中,都不免生成数百个 Excel 报告来分析数据。为了分发这些数据给客户,公司更喜欢 PDF 格式,由于它没法编辑,能够保留原始文档的质量和格式。
若是多个报告属于单个项目,您必定不但愿向客户提供多个 PDF 文件。GrapeCity Documents for Excel 为您提供了将不一样的 Excel 工做簿导出为一个 PDF 的功能,仅需简单的代码便可实现。调用 PrintManager 类能够在不一样的工做簿中直接保存为一个 PDF 文件。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
在许多状况下,在 PDF 的底部或右侧重复行、列是有帮助的。例如,贵公司可能须要在每一个打印页面的底部重复免责声明或注释:
咱们以世界卫生组织的报告为例。它收集区域卫生技术信息,做为国家卫生计划的一部分,或仅有一个不属于国家卫生计划的卫生技术中心的地区。咱们使用 Yes1 和 Yes2 的值做为图例,在每页的底部重复。
您可能须要对数据透视表的不一样区域进行不一样的格式化,以强调哪些数据属于哪里,好比:组织的月度预算报告。该报告将以 3 页打印,每页都会在最后重复该消息。
Microsoft Excel 没有直接在底部或右侧重复行或列的方法,它只能选择在顶部或左侧重复行或列。要在 Microsoft Excel 的底部重复行,通常只能使用“页脚”,但它对于大型文本的做用是有限的。
经过 GrapeCity Documents for Excel 的 PageSetup API ,能够在导出到 PDF 时在右侧重复行或列。经过 IPageSetup.PrintTailRows / PrintTailColumns 可在 PDF 导出期间重复行或列。
.NET 平台帮助文档 (在底部重复行)
.NET 平台帮助文档 (右侧重复列)
.NET 平台示例(在底部重复行)
.NET 平台示例(右侧重复列)
Java 平台帮助文档 (在底部重复行 )
Java 平台帮助文档 (右侧重复列)
Java 平台示例(在底部重复行 )
Java 平台示例(右侧重复列)
数据透视表是一种数据分析摘要工具,其中复杂的数据被分组并按行和列进行排序。您可能须要在数据透视表的不一样区域以不一样的格式强调数据归属,特别是如下区域中:
例如,在下面的销售报告中,使用了数据透视表对产品 ID 进行分组,从而显示每季度的销售数据。此表使用了不一样的背景色突出显示每一个行标题和子行标题内容。
GrapeCity Documents for Excel 提供的数据透视表功能支持条件格式化。经过设置,数据透视表的标题、小计和总计中重复的行/列将具备相同的样式(如 API 中所定义的那样),您不须要单独设置每一行/列的样式,而且在格式化数据透视表时,能够将具备样式和数字格式的数据透视表导出为 PDF,而不会丢失任何样式。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
表格数据的逗号分隔值文件(.csv)一般用于管理 Excel 文件中的信息,例如,产品、库存、客户信息和其余数据,用户能够轻松地向 .CSV 文件录入信息,如直接录入或经过第三方导入。
在经过第三方导入时,没必要仅使用逗号进行分隔数据,任何字符串或字符均可用于分隔 Excel 文件的行、列或单元格。
GrapeCity Documents for Excel 不只支持列分隔符、自定义分隔符,还支持使用任何行、单元格、列分隔符导入和导出 .csv 文件。
var openOption = new CsvOpenOptions(); openOption.ColumnSeparator = ","; openOption.RowSeparator = "\r\n"; openOption.CellSeparator = '"'; workbook.Open(@"D:\test.csv", openOption); var saveOption = new CsvSaveOptions(); saveOption.ColumnSeparator = "-"; saveOption.RowSeparator = "\n"; saveOption.CellSeparator = '\''; workbook.Save(@"D:\test_out.csv", saveOption);
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
Excel 文件以格式化数据和公式而闻名。用户在建立复杂的工做表后,每每须要在其余工做表上复制内容。根据不一样的须要,复制的内容也有所不一样。您可能只想复制文本内容、目标主题、公式,或仅复制格式。例如,在每个月预算报告中,计算公式都保持不变;可是,格式可能会被修改。
下图便可反映出如何经过 GrapeCity Documents for Excel 仅复制公式的操做。
GrapeCity Documents for Excel 除了提供可复制范围内的全部数据(不包括列宽/行高之外的设置),还包含各类 PasteType 选项,经过这些选项,用户能够经过 Excel 文件覆盖复制、粘贴内容中涉及的多个方案,例如:
举例,使用如下代码仅复制公式:
var workbook = new Workbook(); var worksheet = workbook.ActiveSheet; worksheet.Range["A1"].Value = "2019/3/08"; worksheet.Range["A1"].Font.Size = 20; worksheet.Range["A1"].Copy(worksheet.Range["D1"], PasteType.Formulas);
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
GrapeCity Documents for Excel 在 Excel 工做表中插入行/列时,分页符能够经过添加数据来调整。例如,公司将其销售记录从 Excel 导出到 PDF 时,为保证每一个区域均可以单独显示在一个新的页面上,GrapeCity Documents for Excel 会自动执行插入分页符操做。
使用 GrapeCity Documents for Excel 的 FixedPageBreaks 属性来控制分页符的调整方式(在对行/列执行插入、删除操做时),这样作的目的,是为了保证每一个区域都会单独占据一张新页面。
注意:要在行/列插入、删除时自动调整分页符,请将 FixedPageBreaks 设置为 false。若是您不但愿自动调整分页符,请将 FixedPageBreak 设置为 true。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
在处理大量的 Excel 工做表和模板时,咱们常常会使用复制和移动工做表的功能。例如,公司的预算工做表包含复杂的数据和须要按季度填写的公式,这些公式基本每一年都会重复,每一个部门在建立新的预算工做表时仅需复制主模板的内容和结构便可快速生成,而在 GrapeCity Documents for Excel 中这项工做将变得更为简单。
GrapeCity Documents for Excel 经过编程的方式复制和移动工做表,worksheet.Copy 方法用以在不一样的位置复制和移动工做表。
Workbook workbook = new Workbook(); var worksheet = workbook.ActiveSheet; var worksheet_copy_sameWorkbook = worksheet.Copy(); var newWorkbook = new Workbook(); var worksheet_copy_otherWorkbook = worksheet.Copy(newWorkbook);
.NET 平台帮助文档 | .NET 平台示例(复制工做表) | .NET 平台示例(移动工做表)
Java 平台帮助文档 | Java 平台示例(复制工做表) | Java 平台示例(移动工做表)
GrapeCity Documents for Excel 支持跨工做簿剪切和复制数据,这项功能使得在任何范围内剪切、复制数据都将变得更加容易,尤为是须要在数百个工做簿中使用相同数据的时候。
跨工做簿剪切和复制数据的示例代码:
Workbook workbook = new Workbook(); var worksheet = workbook.ActiveSheet; var newWorkbook = new Workbook(); //Copy range to another workbook worksheet.Range["B2:F21"].Copy(newWorkbook.ActiveSheet.Range["D5"]);
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
当须要把 Excel 数据更新到多个电子表格时,可以快速找到所需信息相当重要。在常规手段下,扫描数百个行和列很是耗时,但您可使用 GrapeCity Documents for Excel 在几秒钟内完成此项任务。
例如,公司但愿更新年度预算报表,该报表是按照月度预算进行分类的,如今须要在每个月费用中新增一行数据,该数据具有特定的计算公式。此时,就须要在每一个工做表中找到这个特定的公式,并执行公式运算结果。使用 Excel 完成这项工做将是很是耗时的,但经过 GrapeCity Documents for Excel 提供的查找和替换 API 便可快速完成。
如下代码显示了如何在工做表中查找和替换公式:
FindOptions fd = new FindOptions(); fd.LookIn = FindLookIn.OnlyFormulas; foreach (var worksheet in workbook.Worksheets) { IRange range = null; do { range = worksheet.UsedRange.Find("X", range, fd); if (range != null) { range.Formula = range.Formula.Replace("X", "Y"); } } while (range != null); }
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
GrapeCity Documents for Excel 如今支持 IRange.FormulaArrayR1C1(),该函数能够为任何单元格范围引用 R1C1 样式公式。
例:
worksheet.Cells["A11"].R1C1Formula = "=SUM(R[-10]C[0]:R[-7]C[0])";
GrapeCity Documents for Excel 容许导出为 PDF 时缩小文本内容以适应边框大小。
在 Microsoft Excel 中,单元格内的文本内容默认禁用“缩小到适合”的设置。所以,将此文档导出为 PDF 时,该单元格的文本内容可能会因为字号过大而显示不完整。
GrapeCity Documents for Excel 经过引入一个新的 API
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
GrapeCity Documents for Excel 在导入 Excel 电子表格时支持 NoFlag、Data、Formulas Import 和更多类型的标志,如:
GrapeCity Documents for Excel 引入了自动调整工做簿任何范围内行高和列宽的选项,并可根据数据进行调整,该 API 很是易于使用,只需在工做簿范围内,执行“AutoFit()”方法便可。
对于数据太长而没法放入 Excel 单元格内的,经过使用 GrapeCity Documents for Excel ,便可自动调整行高、列宽,以实现跨越单元格的样式。想象一下,当你有成千上万行不一样长度的文字,必须扫描整个工做簿以检查行高和列宽,才可确保数据彻底可见,但经过 GrapeCity Documents for Excel ,仅用少许的代码便可快速完成这一步操做。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
您如今能够经过 GrapeCity Documents for Excel 使用 OLEObjects 方式加载、修改和保存 Excel 电子表格。与此同时,在 Excel I / O 操做期间将保留这些对象。
.NET 平台帮助文档 | .NET 平台示例 | Java 平台帮助文档 | Java 平台示例
使用 GrapeCity Documents for Excel 在 Excel I / O 中保留日语 ruby 字符。即便在某些 API 操做以后,日语 Ruby 字符也会被保留,例如:插入、删除、复制、剪切、合并、清除、排序等。
以上就是GrapeCity Documents for Excel 文档API组件 V2.2 的新特性介绍,更多内容欢迎前往产品官网了解。
点击此处,下载最新版 GrapeCity Documents for Excel (Java)
点击此处,下载最新版 GrapeCity Documents for Excel (.NET)