首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

终于有一款组件可以全面超越Apache POI

在 GrapeCity Documents出现以前,服务端文档组件向来以Apache POI为代表,作为一款由Java编写的开源API库,Apache POI 主要应用于对Microsoft Office...Apache POI对图表的支持非常有限,仅支持Line、Bar、Column、Scatter和Radar图表类型。 迷你图 GcExcel完全支持添加和配置迷你图(Sparklines)。...过滤器数据类型 GcExcel广泛支持文本、数字、日期、颜色和图标等过滤器。 Apache POI仅支持基本的AutoFilter,需要使用低级类来实现应用过滤或创建任何其他高级过滤器。...排序 GcExcel支持所有类型的行排序、列排序、自定义排序、颜色和图标排序。 Apache POI没有内置的排序功能。...但是,用户可以使用shiftRows()/ ShiftColumns()并以编程方式对数据进行排序。 切片器 GcExcel支持带有数据透视表的切片器,而Apache POI则不支持。 10.

3.4K10

sql2java-excel(二):基于apache poi实现数据库表的导出的spring web支持

就开始学习apache的POI,参照网上的示例实现了单张表的导出。并进一步将它封装成一个通用库成为sql2java下的子项目sql2java-excel.以方便在其他项目中技术复用。...,${字段N}[DESC|ASC]), 默认排序字段:id * provinces ----不为null时过滤设备所属顶级设备组的省份名称 * ...} fillColor 单元格填充颜色,参见{@link org.apache.poi.ss.usermodel.IndexedColors} horizontalAlign 导出字段水平对齐方式,...参见{@link org.apache.poi.ss.usermodel.HorizontalAlignment} handler ExcelHandlerAdapter.class 自定义数据处理器...titleFillColor WHITE 标题单元背景填充颜色,参见 org.apache.poi.ss.usermodel.IndexedColors titleHorizontalAlign CENTER

1.6K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    EasyExcel太方便易用了,强烈推荐

    背景 系统中经常要导出大量的数据,格式基本上都是Excel,然而每次导表都是对系统内存的一次挑战。 在Java领域,生成或解析Excel的框架比较有名的当属Apache的poi和jxl了。...也就是说,EasyExcel是基于poi来进行实现的,间接地引入了如下依赖: org.apache.poi poi 3.17 org.apache.poi...UserData(username=李四, age=23, birthday=Mon May 03 00:00:00 CST 1999) 读取Excel完毕 最先是打印了表头信息,这里也可以看到表头的排序是从...当然,也可以使用实现Converter接口的方式实现(同性别实现)。 排除指定Excel列 在很多场景下,Excel的列与实体类可能并不完全一致,这时就需要排除一些实体类的字段。

    3.8K20

    Apache Hudi数据跳过技术加速查询高达50倍

    介绍 在 Hudi 0.10 中,我们引入了对高级数据布局优化技术的支持,例如 Z-order和希尔伯特空间填充曲线[1](作为新的聚类算法),即使在经常使用过滤器查询大表的复杂场景中,也可以在多个列而非单个列上进行数据跳过...parquet 将遵循自然顺序(例如,字符串、日期、整数等) 或推导一个(例如,复合数据类型 parquet 按字典顺序对它们进行排序,这也匹配其二进制表示的排序)。...(以字节为单位)(取决于使用的编码、压缩等) 配备了表征存储在每个文件的每个单独列中的一系列值的列统计信息,现在让我们整理下表:每一行将对应于一对文件名和列,并且对于每个这样的对,我们将写出相应的统计数据...根据键的前缀有效地扫描记录范围 为了解释如何在列统计索引中使用它,让我们看一下它的记录键的组成: 用列前缀索引记录的键不是随机的,而是由以下观察引起的 • 通过 HFile 存储所有排序的键值对,这样的键组合提供了与特定列...C 相关的所有记录的局部性的良好属性 • 对原始表的任何给定查询通常只过滤少数列,这意味着我们可以通过避免读取完整索引来寻求效率,而是简单地将其连续切片投影到列 C1、C2 等查询过滤上 为了更好地举例说明

    1.8K50

    旅游推荐系统的演进

    下文会按时间顺序来阐述如何利用多种召回策略解决这些问题。...从召回层面看POI排序对比之前变化比较大,但由于下文中Rerank的作用,对推荐整体的影响并不大。...协同过滤策略 协同过滤是推荐系统中最经典的算法,相对于历史行为强相关策略,对用户兴趣、POI属性相当于是做了抽象和泛化。...用户对POI的行为表每天离线生产好后更新,相当于只有当天之前的数据,缺少对用户当天实时行为的反馈,因此增加基于用户实时POI行为的协同过滤推荐,复用上文中的POI相似度计算结果。...目前支持将Hive表的数据定期导入,DataHub内部主要使用Tair作为存储,对客户端使用透明,客户端接口支持一维和二维的Key,接口对应用方基本是一致的,另外应用方也不需要自行维护Tair集群配置管理了

    2.5K40

    Apache Hudi 查询优化了解下?

    当数据被聚簇后,数据按字典顺序排列(这里我们将这种排序称为线性排序),排序列为star_rating、total_votes两列(见下图) 为了展示查询性能的改进,对这两个表执行以下查询: 这里要指出的重要考虑因素是查询指定了排序的两个列...但是这是否意味着如果我们按表排序的列的第一个(或更准确地说是前缀)以外的任何内容进行过滤,我们的查询就注定要进行全面扫描?...不完全是,局部性也是空间填充曲线在枚举多维空间时启用的属性(我们表中的记录可以表示为 N 维空间中的点,其中 N 是我们表中的列数) 那么它是如何工作的?...: 在线性排序的情况下局部性仅使用第一列相比,该方法的局部性使用到所有列。...设置 我们将再次使用 Amazon Reviews 数据集[5],但这次我们将使用 Hudi 按 product_id、customer_id 列元组进行 Z-Order排序,而不是聚簇或线性排序。

    1.6K10

    CDP中的Hive3系列之Hive性能调优

    此外,谓词下推将过滤器推送到读取中,以便读取最少的行。布隆过滤器进一步减少了返回的行数。 在大规模部署中得到验证:Facebook 使用 ORC 文件格式进行 300+ PB 部署。...使用 ORC 高级属性,您可以为点查找中经常使用的列创建布隆过滤器。 Hive 支持 Parquet 和其他格式用于仅插入的 ACID 表和外部表。...您必须了解什么是分区修剪、如何启用动态分区以及批量加载数据所需的配置,以确保显着提高性能。...查询按分区过滤列,限制对一个或几个匹配分区进行的扫描。当 WHERE 子句中存在分区键时,会直接进行分区修剪。分区列是虚拟的,不会写入主表,因为这些列对于整个分区是相同的。 您不需要指定动态分区列。...通常,您需要按最大维度表对主表进行分桶。例如,销售表可能按客户分类,而不是按商品或商店分类。但是,在这种情况下,销售表按商品和商店排序。 通常,不要对同一列进行分桶和排序。

    1.7K20

    使用 EasyPOI 优雅导出Excel模板数据(含图片)

    本文主要通过简单的分析让读者知道Excel模板该如何编写,EasyPOI要如何使用才能导出满足自己需要的Excel数据,从而简化编码。...需要注意的是,Apache POI的4.0.0相对之前的版本有很大的变更,如果之前代码中Excel操作部分依赖于旧的版本,那么不建议使用4.0.0及之后的版本。...为了和旧版本兼容,又想使用EasyPOI带来的图片导出功能,所以笔者最终采用的EasyPOI版本是3.3.0,对应的Apache POI依赖是3.15。...org.apache.poi poi-ooxml ${poi.version...这么设置的原因是EasyPOI要求每行的单元格数目完全一致,因为源码中判断了每个单元格的列跨度,如果提前使用了]]换行符,那么该列的数目就和其他行不同,那么赋值的时候就乱掉了,会出现索引异常。

    8.4K21

    Java操作Office:POI之word生成

    通过对比,结合需求要求,最终选择了Apache POI来实现,所以这里先详细介绍POI,以及一个可用的demo,供参考。...三 Apache POI Apache POI(官网)是基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目。...简而言之,您可以使用Java读写MS Excel文件,可以使用Java读写MS Word和MS PowerPoint文件。 poi的gitee地址:gitee。...入门教程可以参考 Apache POI Word(docx) 入门示例教程。 四 版本信息 poi的最新版本已经到了5.0.0,不过可以找到的大部分demo都是基于3.x版本或4.1版本。...4.2.3 列合并 有两种方法,一种是使用addNewHMerge方法,通过设置合并的起始列和结束列,逐个列进行合并: List row2_1 = table.getRow

    5.9K00

    Java操作Office:POI之word生成

    通过对比,结合需求要求,最终选择了Apache POI来实现,所以这里先详细介绍POI,以及一个可用的demo,供参考。...三 Apache POI Apache POI(官网)是基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目。...简而言之,您可以使用Java读写MS Excel文件,可以使用Java读写MS Word和MS PowerPoint文件。 poi的gitee地址:gitee。...入门教程可以参考 Apache POI Word(docx) 入门示例教程。 四 版本信息 poi的最新版本已经到了5.0.0,不过可以找到的大部分demo都是基于3.x版本或4.1版本。...4.2.3 列合并 有两种方法,一种是使用addNewHMerge方法,通过设置合并的起始列和结束列,逐个列进行合并: List row2_1 = table.getRow

    2.5K31

    加速 Lakehouse 表性能完整指南

    聚簇 在每种不同的表格格式中,可以使用高级空间填充技术对 Parquet 文件进行排序和填充。Hudi 将这种操作称为“聚簇”。这意味着数据将填充到 Parquet 文件中,并根据所选键进行排序。...Hudi、Delta 和 Iceberg 都支持多个空间填充曲线,有助于有效地对这些 Parquet 文件内的数据进行排序。使用 3 个主要排序选项 — 线性、Z 顺序和希尔伯特曲线。...它们各自根据下述特征对数据进行不同的排序。 线性 使用这种聚簇或排序策略,Hudi 表的每个分区中的数据文件(假设它是分区表)将按一列或多列排序,并且这些列的顺序起着至关重要的作用。...Table_1 在列(A、B、C)上使用线性排序顺序,而 table_2 在同一列(A、B、C)上使用 Z 顺序。...总之: • 在表上启用聚簇以根据所需的查询谓词对数据进行排序 • 对有序谓词使用线性聚类 • 对有序或多维关系的谓词使用 Z 顺序或希尔伯特聚类 • 选择高基数集群键以进一步减少扫描的数据并最大化并行性

    7500
    领券