poi

java 在线拆分 word文档采用什么技术比较好?

五迷三道 提交于 2020-04-30 11:43:07
在Java项目开发中,偶尔会遇到通过程序动态拆分word文档的需求,由于Java本身不能操作Word文档,在网上也都是讨论如何动态合并word,所以这个需求实现起来相当困难,下面就将近期对于Word文件拆分的需求及其实现方式的研究做个简单的总结,供大家参考: 1 VBA可以实现word文档拆分功能,在网上也很容易找到示例代码,然而VBA虽然强大,但是对于Java开发的项目提供不了任何帮助。 2 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能,但POI的接口非常庞大,方法与属性晦涩难懂,所以多用于简单的处理一下word文件中的数据,比如动态填充数据到word,或修改一下段落格式、文本样式等。 3 docx4j算是一款处理word文档的强大工具。虽然它对WORD各种处理在API层面进行了封装,但是像WORD本身的拆分,合并,其作者(Jason Harrop)是单独提出来了,封装成了商用的JAR包来提供支持。docx4j建立了XML文件与JAVA对象互相转换的一个桥梁,所以顾名思义,docx4j主要用来对docx进行一些操作,对于二进制结构化文档的.doc格式就无能为力了。另外就是稍微大一点的docx文档中的xml都会异常庞大和复杂,在服务器端解析xml会占用大量的系统资源

2018.12-2019.1 TO-DO LIST

倖福魔咒の 提交于 2020-04-30 04:18:39
##AC自动机 P3808 【模板】AC自动机(简单版) (完成时间:2018.12.06) P3796 【模板】AC自动机(加强版) (完成时间:2018.12.06) P2444 [POI2000]病毒 (完成时间:2018.12.06) ##回文串 blog (完成时间:2018.12.10) P3805 【模板】manacher算法 (完成时间:2018.12.10) P1872 回文串计数 (完成时间:2018.12.11) P4555 [国家集训队]最长双回文串 (完成时间:2018.12.10) P4987 回文项链 (完成时间:2018.12.11) ##博弈论 blog1 (完成时间:2018.12.11) blog2 (完成时间:2018.12.11) blog3 (完成时间:2018.12.11) P2197 【模板】nim游戏 (完成时间:2018.12.07) P1247 取火柴游戏 (完成时间:2018.12.11) P4018 Roy&October之取石子 (完成时间:2018.12.11) P4279 [SHOI2008]小约翰的游戏 (完成时间:2018.12.11) P2599 [ZJOI2009]取石子游戏 (完成时间:2018.12.12) P2575 高手过招 (完成时间:2018.12.12) ##FFT blog (完成时间:2018

复杂的POI导出Excel表格(多行表头、合并单元格)

耗尽温柔 提交于 2020-04-28 22:30:40
poi导出excel有两种方式: 第一种:从无到有的创建整个excel,通过HSSFWorkbook,HSSFSheet HSSFCell, 等对象一步一步的创建出工作簿,sheet,和单元格,并添加样式,数据等。 第二种:通过excel.xls 模板的方式,自己在桌面创建一个excel, 然后修改这个excel为模板,复制到项目中(我是放在根目录下),再然后读取模板,修改模板,给模板填充数据,最后把模板写入到另外一个excel2.xls中(硬盘中的)。 按我自己的理解,这种方式只适合,需要导出的内容是固定格式的,只需要填充一次数据的 情况。比如简历。 本文内容如下: 1. 使用 HSSFWorkbook 对象 实现excel导出。一般是导出excel2003 2. 使用 XSSFWorkbook 对象实现excel导出。 一般是导出excel2007 3. 使用 SXSSFWorkbook 对象实现excel导出。 一般是导出百万级数据的excel 4. 使用 template.xls 格式模板,实现excel导出。 一般是导出有固定字段的excel ———————————————— 本文介绍 HSSFWorkbook 导出Excel多行表头、合并单元格的表格 Java代码如下: /** * 导出excel (HSSFWorkbook) */ public void

百万数据17秒生成EXCEL表格

瘦欲@ 提交于 2020-04-28 20:56:36
在pom.xml中增加jar包支持 <!--excel数据表格导出 statrt --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.17</version> </dependency> <!-- 获取数据转换的时候用到 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.1</version> </dependency> <!--excel数据表格导出 end --> 生成Excel表格数据工具类

JqGrid分页表格数据导出excel而两种方式

一笑奈何 提交于 2020-04-28 18:56:30
首先要确定一个问题: 你的数据返回的方式是 一次性加载完 还是 点击下一页重新请求服务器 ? 根据你上边数据返回的方式,我们分类来处理。 第一种:点击下一页重新请求服务器 这种的话,每次点击下一页是需要重新请求服务器的,所以我们只需发送请求,然后后台从数据库select数据得到list,将list传给生成EXCEL的函数(一般都是用POI)。 比如:当用户搜索性别为女的学生时, 前端给后端发送post请求(带参数的) 后端响应第一页的数据。 而我们点击导出的时候,我们需要获取 搜索 操作的请求内容,发给后端。 经过我的不懈努力,我在 $("#grid") 对象中找到了上次请求的数据: 具体位置是在 $("#grid")[0].p.postData 。 那么我只需要获取这个对象,然后当用户点击导出按钮之后,带上 postData 的参数,发送导出文件的请求,然后后端根据参数查询出所有符合条件的student对象,组合成一个list,然后生成excel文件流,供用户下载。 **PS:**关于后端传文件流,前端如何保存为文件下载下来。这个我在第二种方式里边介绍过通过文件流异步实现下载文件,有兴趣的可以去看看。 第二种:一次性加载完 这一种,我在上一篇博客中已经介绍过这个方法,所以直接上连接。 传送门 : 戳我 来源: oschina 链接: https://my.oschina.net

[转载]java导出word的5种方式

喜夏-厌秋 提交于 2020-04-28 08:22:46
在网上找了好多天将数据库中信息导出到word中的解决方案,现在将这几天的总结分享一下。总的来说,java导出word大致有5种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。通过Jacob实现了在Java平台上对微软Office的COM接口进行调用。   优点:调用微软Office的COM接口,生成的word文件格式规范。   缺点:服务器只能是windows平台,不支持unix和linux,且服务器上必须安装微软Office。 2:Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel、Word等文件。   优点:跨平台支持windows、unix和linux。   缺点:相对与对word文件的处理来说,POI更适合excel处理,对于word实现一些简单文件的操作凑合,不能设置样式且生成的word文件格式不够规范。 3:Java2word是一个在java程序中调用 MS Office Word 文档的组件(类库)。该组件提供了一组简单的接口,以便java程序调用他的服务操作Word 文档。 这些服务包括: 打开文档、新建文档、查找文字、替换文字,插入文字、插入图片、插入表格

[Selenium+Java] Selenium Framework: Keyword Driven & Hybrid

杀马特。学长 韩版系。学妹 提交于 2020-04-27 21:43:39
Original from: https://www.guru99.com/creating-keyword-hybrid-frameworks-with-selenium.html What is Selenium Framework? Selenium Framework is a code structure that helps to make code maintenance easy. Without frameworks, we will place the “code” as well as “data” in the same place which is neither re-usable nor readable. Using Frameworks, produce beneficial outcomes like increased code re-usage, higher portability, reduced script maintenance cost, higher code readability, etc. There are mainly three type of frameworks created by Selenium WebDriver to automate manual test cases Data Driven Test

使用easypoi导出excel

六眼飞鱼酱① 提交于 2020-04-27 20:19:49
EasyPOI是在jeecg的poi模块基础上,继续开发独立出来的,可以说是2.0版本,EasyPoi封装的目的和jeecg一致,争取让大家write less do more ,在这个思路上easypoi可以让大家几乎不写代码的情况下完成Excel的导入导出,Excel的模板导出(制作漂亮的Excel),Word模板的导出,让大家从复杂的POI的接口中解脱出来,同时更迅速的完成工作. EasyPoi的特性 • 注解是基础,让大家见名知意 • 注解是核心,让大家快速开发 • 简单的导出导入接口,可以快速完成 • 简单的数据接口,自定义数据 • Excel模板,美化的Excel,程序一天,Excel1分钟 • Word模板,通知类文件的强大神器 • SpringView集成 easypoi在项目中的应用: 需要引入的jar包: <!-- easypoi导出excel --> <!-- easypoi-base 导入导出的工具包,可以完成Excel导出,导入,Word的导出,Excel的导出功能 --> < dependency > < groupId > org.jeecg </ groupId > < artifactId > easypoi-base </ artifactId > < version > 2.3.1 </ version > </ dependency > <!

springMVC(4)---生成excel文件并导出

此生再无相见时 提交于 2020-04-24 16:21:29
springMVC(4)---生成excel文件并导出 在开发过程中,需要将数据库中的数据以excel表格的方式导出。 首先说明。我这里用的是Apache的POI项目,它是目前比较成熟的HSSF接口,用来处理Excel对象。其实POI不仅仅只能处理excel,它还可以处理word、PowerPoint、Visio、甚至Outlook。 一.首先介绍利用POI如何生成excel。 首先在生成Excel前,我们需要理解一下Excel文件的组织形式。在POI中,是这样理解的:一个Excel文件对应一个workbook,一个workerbook是有若干个sheet组成的。一个sheet有多个row,一个row一般存在多个cell。 对于上面的四个名词我们可以在下图理解: 对于生成Excel,POI提供了如下几个基本对象: HSSFWorkbook excel 的文档对象 HSSFSheet excel 的表单 HSSFRow excel 的行 HSSFCell excel 的格子单元 从上面的图片和Excel的组织结构,我们就可以明白创建Excel的步骤。 1、生成文档对象HSSHWorkbook。 2、通过HSSFWorkbook生成表单HSSFSheet。 3、通过HSSFSheet生成行HSSFRow 4、通过HSSFRow生成单元格HSSFCell。 下面展示代码: 第一步

spring boot 使用POI导出数据到Excel表格

≯℡__Kan透↙ 提交于 2020-04-24 15:48:36
  在spring boot 的项目经常碰到将数据导出到Excel表格的需求,而POI技术则对于java操作Excel表格提供了API,POI中对于多种类型的文档都提供了操作的接口,但是其对于Excel表格的操作无疑是最强大的。   1.POI简介     Apache POI 是用 Java 编写的免费开源的跨平台的 Java API,Apache POI 提供 API 给 Java 程式对 Microsoft Office(Excel、WORD、PowerPoint、Visio 等,主要实现用于 Excel)格式档案读和写的功能,POI 为 “ Poor Obfuscation Implementation ” 的首字母缩写,意为简洁版的模糊实现。    POI结构: HSSF - 提供读写Microsoft Excel XLS格式档案的功能。 XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。 HWPF - 提供读写Microsoft Word DOC97格式档案的功能。 XWPF - 提供读写Microsoft Word DOC2003格式档案的功能。 HSLF - 提供读写Microsoft PowerPoint格式档案的功能。 HDGF - 提供读Microsoft Visio格式档案的功能。 HPBF -