Java使用freemaker导出word,使用的是ftl模板文件,本质是xml的格式。 如果在某个地方,内容还没有撑满一页的情况下,需要强制换到下一页,要如何做到呢? 编辑ftl模板文件,在需要强行分页的地方,增加如下代码即可: <w:p><w:r><w:br w:type="page"/></w:r></w:p>
Java使用freemaker导出word,使用的是ftl模板文件,本质是xml的格式。 如果在某个地方,内容还没有撑满一页的情况下,需要强制换到下一页,要如何做到呢? 编辑ftl模板文件,在需要强行分页的地方,增加如下代码即可: <w:p><w:r><w:br w:type="page"/></w:r></w:p>
使用Spring提供的一个下载Office文档的接口报错(具体是使用Apache POI生成OfficeExcel和Word文件),直接输出到HttpServletResponse的OutputStream流,如下报错: org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Fail to save: an error occurs while saving the package : The part /docProps/core.xml f…
Java下将Html转成PDF的方式,详见:https://blog.terrynow.com/2021/09/26/itextpdf-flying-saucer-complex-html-css-to-pdf/ 使用的是iTextPDF和flying saucer,以下是简要的操作说明: pom.xml: <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId&…
有一个ArrayList,里面的元素很多,需要把这个ArrayList拆分成若干成最大长度是200个元素的子数组。 public static void main(String[] args) { ArrayList<Integer> originalList = new ArrayList<>(); // 添加一些元素到originalList int maxLength = 200; List<List<Integer>> subArrays = splitArr…
如题的需求,需要用Java将word的doc(docx)文档转成html,另外word文档中,还有一些图片,需要将图片转成base保存在html中。 需要用到的框架如下: Apache POI xdocreport 相关的maven依赖如下: pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.3<…
使用ApachePOI生成单元格内容的时候,无论内容中是否含有\n等换行符,内容都是不换行的,要让单元格中的内容按照\n换行,需要设置一下CellStyle(setWrapText(true)),并给这个cell设置cellStyle,代码如下: CellStyle cellStyle = workbook.createCellStyle(); cellStyle.setAlignment(HorizontalAlignment.CENTER); cellStyle.setVerticalAlignment(Ver…
已知一个数组,需要将这个数组排序,排序的规则是:按照数组中的元素的某个属性,按照指定的顺序来排序 例如:一个包含Student的学生数组,Student中有一个分组的属性,我们要按照分组,且按照我们指定的顺序来排序 实现方式是试用indexOf查找这个属性在给定的顺序数组中的位置,根据未知的大小来排序,示例如下: public static void main(String[] args) throws Exception { List<Student> students = new ArrayList…
有一个List,里面的元素有多个属性,我们需要根据里面的2个(或者多个)属性来对这个List去重。 代码如下: public static void main(String[] args) { List<SomeObject> list = new ArrayList<>(); list.add(new SomeObject("abc", 100)); list.add(new SomeObject("abc", 100)); list.add(new SomeObject("def", 1…
阿里云试用OSS的API获取某个文件文件的地址,返回的是http的地址,官方的示例代码如下: String endpoint = "oss-cn-shanghai.aliyuncs.com"; OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); try { boolean exists = ossClient.doesObjectExist(bucketNameStatic, key); if (…
开发中常有需求将文件转成byte[]数组的场景,这里总结了一下几种常用的File转bytes的方式(直接转成bytes需要在内存里存放,所以仅使用文件不大的场景,如果遇到的文件很大,那么可能做法不是这样的,例如使用随机读取,一边读取一边处理等方式(RandomAccessFile)): 使用apache commons io 这个库,引入依赖: <dependency> <groupId>commons-io</groupId> <artifactId>commons…