使用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…

2023-10-24 0条评论 992点热度 0人点赞 admin 阅读全文

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&…

2023-08-08 0条评论 783点热度 0人点赞 admin 阅读全文

有一个ArrayList,里面的元素很多,需要把这个ArrayList拆分成若干成最大长度是200个元素的子数组。 public static void main(String[] args) { ArrayList<Integer> originalList = new ArrayList<>(); // 添加一些元素到originalList int maxLength = 200; List<List<Integer>> subArrays = splitArr…

2023-07-24 0条评论 484点热度 0人点赞 admin 阅读全文

如题的需求,需要用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<…

2023-06-24 0条评论 948点热度 0人点赞 admin 阅读全文

使用ApachePOI生成单元格内容的时候,无论内容中是否含有\n等换行符,内容都是不换行的,要让单元格中的内容按照\n换行,需要设置一下CellStyle(setWrapText(true)),并给这个cell设置cellStyle,代码如下: CellStyle cellStyle = workbook.createCellStyle(); cellStyle.setAlignment(HorizontalAlignment.CENTER); cellStyle.setVerticalAlignment(Ver…

2023-06-12 0条评论 989点热度 0人点赞 admin 阅读全文

已知一个数组,需要将这个数组排序,排序的规则是:按照数组中的元素的某个属性,按照指定的顺序来排序 例如:一个包含Student的学生数组,Student中有一个分组的属性,我们要按照分组,且按照我们指定的顺序来排序 实现方式是试用indexOf查找这个属性在给定的顺序数组中的位置,根据未知的大小来排序,示例如下: public static void main(String[] args) throws Exception { List<Student> students = new ArrayList…

2023-05-15 0条评论 498点热度 0人点赞 admin 阅读全文

有一个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…

2023-03-05 0条评论 570点热度 0人点赞 admin 阅读全文

阿里云试用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 (…

2023-01-28 0条评论 1247点热度 0人点赞 admin 阅读全文

开发中常有需求将文件转成byte[]数组的场景,这里总结了一下几种常用的File转bytes的方式(直接转成bytes需要在内存里存放,所以仅使用文件不大的场景,如果遇到的文件很大,那么可能做法不是这样的,例如使用随机读取,一边读取一边处理等方式(RandomAccessFile)): 使用apache commons io 这个库,引入依赖: <dependency> <groupId>commons-io</groupId> <artifactId>commons…

2023-01-01 0条评论 730点热度 0人点赞 admin 阅读全文

默认情况下使用ApachePOI生成的单元格Cell,我们给Cell设置内容后,如果内容比较多,宽度不够的情况下,里面的文字是不换行的,如果希望文本换行,可以有两种做法 将单元格设置为文本自动换行(推荐) HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setWrapText(true); // 设置cellStyle格式为自动换行 cell.setCellStyle(cellStyle); // 给单元格cell设置cellStyle…

2022-12-24 0条评论 998点热度 0人点赞 admin 阅读全文
1234521