2024年开发者必备的一款服务端组件

news2024/9/22 11:41:50

最新技术资源(建议收藏)
https://www.grapecity.com.cn/resources/

前言

在现代工作环境中,信息的处理和管理是至关重要的。表格是一种常见的数据呈现和整理工具,被广泛应用于各行各业。然而,随着技术的不断发展,市场对表格控件的需求也越来越高。随着工作效率的重要性日益凸显,一款高效的表格控件成为了开发者们的首选,因此本文小编将从葡萄城公司的服务端表格组件GrapeCity Documents for Excel (以下简称GcExcel)的视角出发,为大家介绍如何充分利用这一控件来提升开发效率和用户体验。

产品介绍

GrapeCity Documents for Excel (简称:GcExcel)是一款基于 .NET 平台和 Java 平台的支持批量创建、编辑、打印、导入/导出Excel文件的服务端表格组件,能够高性能处理和高度兼容 Excel。GcExcel 可助您快速高效地处理 Java 平台中各类 Excel 表格业务需求,从而提高您的开发效率和产品质量,实现更高的商业价值。

GcExcel 原生支持多种格式的文件生成(如PDF、EXCEL、HTML、CSV及图片格式等),无需依赖第三方工具即可轻松满足批量生成的需求。其内置类 Excel 的样式和打印设置,完美应对多样的打印导出需求。同时,条件格式、多种图表类型、数据透视表、迷你图等多样的数据展示功能,能够满足各种报表展示要求。通过二次开发和扩展,您还能利用 GcExcel 实现 PDF 的异步导出和进度追踪,进一步拓展系统应用能力,为数据导出需求提供更高效、更多样化的选择。

GcExcel 可与纯前端表格控件 SpreadJS 前后端兼容,为您开发的应用程序提供在线文档的前后端数据同步、在线填报与服务端批量导出与打印,以及类 Excel 报表模板设计与服务端高性能处理等一整套类 Excel 全栈解决方案。

产品的新增特性:

异步IMAGE函数

Excel 中的 IMAGE 函数允许用户将图像直接插入单元格,从而增强电子表格的视觉吸引力,例如要点说明、添加 Logo 或结合数据以说明分析。在最新版本中,GcExcel 现在包括 IMAGE 函数,允许用户在单元格内添加图像。支持的图像类型与 ImageType 枚举中可用的类型相同。此外,GcExcel 还添加了 Workbook.WebRequestHandler 接口,允许用户自定义如何发送网络请求,通过 WebRequestHandler,IMAGE 函数可以通过 URL 显示来自在线来源的图像,该接口允许异步处理网络请求,并提供了一种向指定 URI 发送 GET 请求的方法,这在 导出 PDF 时很有用。

参考以下代码,了解在单元格中如何设置图像。

Workbook.WebRequestHandler = new WebRequestHandler();
var workbook = new Workbook();
var sheet = workbook.ActiveSheet;

sheet.Range["A1"].Formula = "=IMAGE(\"https://support.content.office.net/en-us/media/926439a2-bc79-4b8b-9205-60892650e5d3.jpg\")";

workbook.Calculate();
workbook.WaitForCalculationToFinish();

workbook.Save("D:\\res.pdf");

新增 Goal Seek 功能

Excel 的目标求解功能使用户能够确定达到期望结果所需的输入值。通过设置一个目标输出,目标求解功能会自动调整输入值,直到达到期望的结果。此功能在场景分析和 Excel 建模过程中,对决策制定具有较高的实用价值。

GcExcel 新增了一个 API,可以通过编程方式在电子表格中添加目标求解功能。新的 IRange.GoalSeek(double goal, IRange changingCell) 方法(布尔值)尝试通过修改指定的 changingCell,来实现由 IRange 所代表的单元格中的公式计算结果达到指定的目标。goal 参数指定了期望的目标输出,而 changingCell 参数指定了将改变其值以实现目标值的单元格。

数据透视表中的标签筛选和数值筛选

在V7.2版本中,GcExcel增强了数据透视表筛选的支持,使开发人员能够以编程方式在数据透视表中优化和管理大型数据集。GcExcel新增的筛选选项有助于缩小数据范围,专注于特定条件,从而使分析更加精确和相关。

GcExcel 支持新的 API 在数据透视表中添加标签筛选(包括日期筛选)和数值筛选。标签筛选 API 有助于根据行或列字段中的标签筛选数据,而数值筛选 API 则用来显示满足特定条件的数值数据。GcExcel 提供的 IPivotField 接口的 PivotFilters 属性,使用户可以使用 PivotFilterType 枚举添加标签、数值或日期筛选到数据透视表字段中,该枚举可以作为参数传递给IPivotFilters接口的Add方法。新的API添加还包括 AllowMultipleFilters 属性,帮助在一个字段上同时添加标签和数值筛选,从而允许开发人员在一个字段上添加多个筛选。新API添加还包括ClearLabelFilterClearValueFilterClearAllFilters方法以删除筛选。

模板增强:根据数据源进行数据过滤

在业务场景中,开发人员会整合来自多个数据源的数据,这些数据之间往往存在着关系。GcExcel 现在支持通过在 Excel 模板中定义过滤属性来表示这些关系。单个模板单元格可以对应数据源中的多条记录,开发人员可以相应地过滤扩展数据。模板中的过滤属性也可以轻松修改,使报告能够动态适应不断变化的数据。

模板数据过滤功能,仅支持 .NET 中的 System.Data.DataTable 或 ITableDataSource 以及 Java 中的 java.sql.ResultSet 或 ITableDataSource 。

GcExcel 增加了使用 FFilter 属性定义过滤条件和过滤切片的功能。过滤属性可以添加到 Excel 模板文件的所需单元格中,条件过滤的语法是

F/Filter = (field1 > 1 and field2 = 2 or field3 <> 3),

GcExcel 同样增强了从多张表中进行数据处理和报告生成的能力。在条件过滤属性,您可以使用 AND、OR、NOT 和 LIKE 等操作符和关键来表示不同过滤条件间的关系。

切片过滤属性则通过指定从一个索引到另一个索引的范围来实现数据提取。切片过滤属性可以使用以下语法添加到 Excel 模板文件的所需单元格中:

F/Filter = [start:stop:step]

此外,您也可以将条件过滤属性和切片过滤属性结合起来,GcExcel 会先过滤具有条件过滤属性的记录,然后根据应用的切片过滤属性过滤记录。语法如下:

F/Filter = [start:stop:step](field1 > 1 and field2 = 2 or field3 <> 3)

以下示例展示了一个复杂的业务场景,该场景展示了如何通过在两个表中各自的单元格上应用双重过滤条件,精准地提取所需数据。

新增迷你图

GcExcel 现在支持通过对应的新函数来添加线型柱状以及盈亏迷你图。迷你图是嵌入在单元格内的紧凑且简单的图表,用来直观地展示数据趋势。你可以在GcExcel中使用以下语法来添加迷你图:

=LINESPARKLINE(data,dataOrientation,[dateAxisData],[dateAxisOrientation],[setting]).

=COLUMNSPARKLINE(data,dataOrientation,[dateAxisData],[dateAxisOrientation],[setting]).

=WINLOSSSPARKLINE(data,dataOrientation,[dateAxisData],[dateAxisOrientation],[setting]).

如果想了解每个参数的具体用法,请参考 SpreadJS 迷你图。

注释:在电子表格中添加迷你图(Sparklines)的支持是 SpreadJS 的一个特性,这些函数的结果将在 SpreadJS 的 SSJSON I/O、SJS I/O、PDF、图像和 HTML 导出文件中可见。

worksheet.Range["G3:G5"].Formula = "=COLUMNSPARKLINE(B3:F3,1,,,\"{showMarkers:TRUE}\")";
worksheet.Range["G3:G5"].Formula = "=LINESPARKLINE(B3:F3,1,,,\"{showMarkers:TRUE,lineWeight:1.5,markersColor:#7030a0}\")";
worksheet.Range["G3:G5"].Formula2 = "=WINLOSSSPARKLINE(B3:F3-300000,1,,,\"{showNegative:TRUE}\")";

下图展示了一个在 SpreadJS 中添加到电子表格的柱状迷你图(Column Sparkline)。

基于像素的渲染 PDF 和图像

为了增强电子表格内容导出 PDF 和图像的性能,并使其渲染效果更接近于 SpreadJS,GcExcel 引入了 WorkbookOptions 类,该类提供了一个属性 —— PixelBasedColumnWidth。如果将其设置为true,则在将电子表格渲染为 PDF 和图像时,工作簿会采用基于像素的列宽。此外,此选项会让其他 API 行为,如自动调整列宽和其他 PDF 及图像渲染结果,更加接近于SpreadJS的效果。

在导出到PDF时定制边框样式

GcExcel 现在允许您使用 PdfSaveOptions 类中的新 BorderOptions 属性来导出带有自定义边框样式的 PDF 文档。此属性利用了 CustomBorderStyle 类的 BorderWidthDashes 属性,以及BorderLineStyle 枚举,以定义边框宽度、虚线段长度和线条样式。BorderWidth 属性设置在导出 PDF 文档时的边框宽度,而 Dashes 属性确定虚线中每一段的长度。

总结

GcExcel V7.0 Update2 的发布,标志着服务端表格组件的新高度。葡萄城将继续致力于为用户提供更强大、灵活的工具,助力各行业开发者在文档管理和报表生成方面的创新和发展。如需了解更多关于 GcExcel V7.0 Update2 的信息,请访问葡萄城官方网站。

扩展链接:

数据驱动创新:以Java编程方式定制数据透视表

Java批量操作Excel文件实践

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2074924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NC设计LRU缓存结构

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 设计LRU(最近…

leetcode215. 数组中的第K个最大元素,小根堆/快排思想

leetcode215. 数组中的第K个最大元素 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。…

vue面试集合

缓存 浏览器缓存和http缓存 浏览器缓存&#xff1a; 1&#xff0c;简单的缓存方式有cookie&#xff0c;localStorage和sessionStorage。 2&#xff0c;vue中keep-alive缓存动态组件&#xff1a; 全部缓存&#xff1a;使用<keep-alive>标签包裹缓存路由&#xff0c;ro…

JAVA电子器件制造行业生产管理系统计算机毕设计算机毕业设计

项目开发意义 目前小型企业基本上是采用人工完成生产及物料的车间计划,由于企业运作是以订单驱动而非计划生产,人工手段无法及时随新订单的到来更新计划,造成计划偏离实际;各个生产单位(车间)各自为战,分别提出物料、设备、专用工具的需求,在整个企业层面上很难较精确地控制物料…

机器学习:集成学习之随机森林

目录 前言 一、集成学习 1.集成学习的含义 2.集成学习的代表 3.集成学习的应用 二、随机森林 1.随机森林的特点 2.随机森林生成步骤 3.随机森林优点 4.随机森林的缺点 三、代码实现 1.完整代码 2.数据预处理 3.创建并训练模型 4.测试模型 总结 前言 随机森林是…

集合及数据结构第十二节(下)————哈希表、字符串常量池和练习题

系列文章目录 集合及数据结构第十二节&#xff08;下&#xff09;————哈希表、字符串常量池和练习题 哈希表、字符串常量池和练习题 哈希表的概念冲突-概念冲突-避免冲突-解决冲突严重时的解决办法冲突严重时的解决办法的实现性能分析和 java 类集的关系Hashmap的使用案…

R8RS标准之重要特性及用法实例(四十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列…

LDR6500Type-C pd OTGi协议芯片讲解

LDR6500是一款由乐得瑞科技推出的USB-C DRP&#xff08;Dual Role Port&#xff0c;双角色端口&#xff09;接口USB PD&#xff08;Power Delivery&#xff0c;功率传输&#xff09;通信芯片。这款芯片具备一系列先进的功能和特点&#xff0c;特别适合于手机音频转接器、USB Ty…

QT中引入SQLITE3数据库

1、把sqlite3.dll、.h、.lib这三个文件拷贝到工程目录下 2、在pro文件中配置一下即可 LIBS $$PWD/sqlite3.lib 3、保存一下pro文件 4、引入sqlite3.h头文件 5、验证 先新建一个文件夹data&#xff0c;若没有user.db&#xff0c;则会自动新建&#xff1b;有就直接使用 运行成…

UTONMOS:探索未来游戏的元宇宙纪元新篇章

元宇宙游戏&#xff0c;作为融合了虚拟现实&#xff08;VR&#xff09;、增强现实&#xff08;AR&#xff09;、区块链、人工智能&#xff08;AI&#xff09;等前沿技术的综合性数字世界&#xff0c;元宇宙游戏不仅重新定义了游戏的边界&#xff0c;更预示着一个沉浸式、交互性…

YOlOV5入门教程

前言 因项目需求&#xff0c;所以要使用yolo进行操作&#xff0c;现在对yolov5进行教程&#xff0c;代码可以在这下载&#xff1a;https://github.com/ultralytics/yolov5 项目结构 下载完成后可以看到资源如图所示。 1.1.github文件夹 ISSUE_TEMPLATE 目录 这个目录下的文件…

Cesium 展示——绘制水面动态升高

文章目录 需求分析需求 如图,绘制水面动态升高,作为洪水淹没的效果 分析 我们首先需要绘制一个面然后给这个面一个高度,在回调函数中进行动态设置值【这里有两种,一种是到达水面一定高度停止升高,一种是水面重新升高】/*** @description :洪水淹没* @author : Hukang*…

关闭IDEA启动画面

新版IDEA启动时启动画面居中且无法最小化&#xff0c;所以想把它给隐藏掉。&#xff08;此操作不会加快启动速度&#xff09; 在快捷方式后加入参数 nosplash&#xff0c;记得有个空格。

Java | Leetcode Java题解之第374题猜数字大小

题目&#xff1a; 题解&#xff1a; public class Solution extends GuessGame {public int guessNumber(int n) {int left 1, right n;while (left < right) { // 循环直至区间左右端点相同int mid left (right - left) / 2; // 防止计算时溢出if (guess(mid) < 0)…

CSV文件的高级处理:从大型文件处理到特殊字符管理

目录 一、处理大型CSV文件 1.1 面临的挑战 1.2 使用Pandas库 1.3 注意事项 二、跳过无效行 2.1 无效行的原因 2.2 使用异常处理机制 2.3 注意事项 三、处理特殊字符 3.1 特殊字符的问题 3.2 使用引号包围字段 3.3 使用库函数处理特殊字符 结论 CSV&#xff08;Com…

Web大学生网页作业成品——节日端午节介绍网页设计与实现(HTML+CSS)(5个页面)

&#x1f389;&#x1f389;&#x1f389; 常见网页设计作业题材有**汽车、环保、明星、文化、国家、抗疫、景点、人物、体育、植物、公益、图书、节日、游戏、商城、旅游、家乡、学校、电影、动漫、非遗、动物、个人、企业、美食、婚纱、其他**等网页设计题目, 可满足大学生网…

计算机网络面试真题总结(三)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ TCP 和 UDP 分别对应的常见应用层协议有哪些&#xff1f; TCP 对应…

帮助我们从曲线图中获取数据的软件分享——GetData Graph Digitizer

在科技论文写作和数据分析过程中&#xff0c;我们常常需要将自己的数据与前人的研究成果进行对比。然而&#xff0c;有时我们只能从别人的论文中获得一张包含坐标轴的曲线图&#xff0c;而无法直接获取原始数据。在这种情况下&#xff0c;GetData Graph Digitizer 软件就显得尤…

(24)(24.4) MultiWii/DJI/HDZero OSD (version 4.2 and later)(三)

文章目录 前言 3 显示端口OSD 前言 经过 WTF-OSD 修改的 HDZero、Walksnail 和 DJI 能够进行 DisplayPort 操作。 3 显示端口OSD DisplayPort 是一种 MSP 协议扩展&#xff0c;允许自动驾驶仪在兼容的外部操作系统上远程绘制文本。DisplayPort 是一种 MSP 协议扩展&#xf…

架构师篇-21、工作坊实战DDD分解业务

课程内容&#xff1a; 采用工作坊的教学模式共创主题一&#xff1a;DDD业务分析步骤共创主题二&#xff1a;DDD领域模型输出共创主题三&#xff1a;业务架构蓝图输出 收益&#xff1a; 如何采用DDD进行业务分解&#xff1f;【循序渐进不断实践】共创输出项目业务架构图及业务…