之前一直用破解版aspose.cell来着,但是转换出来效果不理想,贼拉难看,加上项目中有用到itext,就开始找利用itext转换excel的方法,然后就找到了个借助poi写入itextPdf的思路,尝试了下,效果还不错,记录一下。
itext版本: 7.1.11

public static void excelToPdf(String inFilePath, String outFilePath) {PdfFont pdfFont = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H", true);try (PdfDocument pdf = new PdfDocument(new PdfWriter(new FileOutputStream(outFilePath)));Document document = new Document(pdf, PageSize.A4.rotate());) {String type = "xls".equals(getSuffix(inFilePath).trim()) ?"org.apache.poi.hssf.usermodel.HSSFWorkbook" : "org.apache.poi.xssf.usermodel.XSSFWorkbook";// 文件输入流读取文件InputStream in = new FileInputStream(inFilePath);// 反射创建workbookClass workbookClass = Class.forName(type);org.apache.poi.ss.usermodel.Workbook workbook = (org.apache.poi.ss.usermodel.Workbook) workbookClass.getConstructor(InputStream.class).newInstance(in);Sheet sheet = workbook.getSheetAt(0);int column = sheet.getRow(0).getLastCellNum();int row = sheet.getPhysicalNumberOfRows();Table table = new Table(column - sheet.getRow(0).getFirstCellNum());String str = null;for (int i = sheet.getFirstRowNum(); i < row; i++) {for (int j = sheet.getRow(0).getFirstCellNum(); j < column; j++) {//获取excel单元格org.apache.poi.ss.usermodel.Cell cell = sheet.getRow(i).getCell(j);if (cell.getCellType() == CellType.NUMERIC) {str = (int) cell.getNumericCellValue() + "";} else {str = cell.getStringCellValue();}Cell cells = new Cell().setFont(pdfFont).add(new Paragraph(str));table.addCell(cells);}}document.add(table);} catch (Exception e) {throw new CustomException(ResponseEnum.FILE_CONVERT_FAILED, Locale.ENGLISH);}}private static String getSuffix(String filePath) {int dotIndex = filePath.lastIndexOf(".");return filePath.substring(dotIndex + 1);}

itext7+poi实现excel转pdf相关推荐

  1. java通过poi导出excel和pdf

    [背景] 由于各户的需求,所以需要增加导出excel这个功能,其实大部分系统都需要这个导出功能的,所以这里也就不详细说明具体导出的背景了O(∩_∩)O~ 干完导出excel将现有的导出pdf也进行了独 ...

  2. iText导出pdf,poi导出excel并下载到客户端

    项目中需要做导出功能,要支持excel,pdf导出. excel导出我选择使用poi:pdf导出我选择使用iText,在此单独做记录. 先说说在设计与开发中的问题,从整体上把握设计思路. 思路(一) ...

  3. Aspose-Cells结合Apache POI生成excel文件以及转换为pdf

    最近有个需求是需要将数据库中的符合条件的交易流水导出生成为excel,并转换为pdf,提供给客户下载,客户下载核对并签章. 需要用到的jar包依赖: <dependency><gro ...

  4. 关于使用jacob+poi插件实现编辑Excel转PDF操作!

    最近在项目中,出现了Excel转PDF的需求,找了很多方法都不尽人意.今天就将我实现的方法分享出来,所需下载,都已备好,放心实验! 1.需要的jar包和控件 jacob-1.19.jar poi-3. ...

  5. Java POI 导出EXCEL经典实现 Java导出Excel

    转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...

  6. java操作Excel、PDF文件

    java操作Excel.PDF文件 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的java操作excel的工具, 在开源世界中, ...

  7. java给图片、word、ppt、excel、pdf添加水印

    java给图片.word.ppt.excel.pdf添加水印 使用poi.itextpdf.imageio等技术 只支持高版本的office,即支持docx.pptx.xlsx 给word添加水印遇到 ...

  8. EXCEL转PDF,JACOB,生成checkbox

    因为项目报表有EXCEL导出,现在要新增PDF导出,我就想用EXCEL转PDF,于是找到JCOB调用COM组件,但是发现JCOB不能在LINUX下运行.同时JCOB也有个坏处.如果EXCEL里面表格不 ...

  9. java操作office和pdf文件java读取word,excel和pdf文档内容

    在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...

  10. JAVA读取WORD,EXCEL,POWERPOINT,PDF文件的方法

    OFFICE文档使用POI控件,PDF可以使用PDFBOX0.7.3控件,完全支持中文,用XPDF也行. java2word 是一个在java程序中调用 MS Office Word 文档的组件(类库 ...

最新文章

  1. 单片机红绿灯电路灯有几种_LED路灯电源防雷与设计方案
  2. react实现全选、取消全选和个别选择
  3. 华为开源只用加法的神经网络:实习生领衔打造,效果不输传统CNN | CVPR 2020 Oral...
  4. 积极开展网络营销的AI换脸软件短短几日经历了从爆红到下架
  5. hihoCoder1678 版本号排序
  6. .net post xml 数据
  7. python是个啥玩意儿_Pythonic到底是什么玩意儿?
  8. office系统构架
  9. Opencv之python使用zxing识别二维码
  10. java mongodb_MongoDB Java Servlet Web应用程序示例教程
  11. 汽车租赁系统-车辆租赁管理系统-汽车租赁管理系统的设计与实现
  12. Kafka 安装配置及下载地址
  13. Little Gyro and Sort(第二届中国计量大学ACM程序设计竞赛个人赛)
  14. stm32f103c6t6
  15. 人力资源管理:理论与实务第七章
  16. vue项目将localhost改成自己的ip访问
  17. 用户输入一个字符串,请将字符串中的所有字母全部向后移动移动一位,最后一个字母放到字符串的开头,最后将新的字符串输出。
  18. python图片截取斜四边形_opencv 截取任意四边形区域的图像
  19. 修改MacOSX 启动菜单中磁盘名称
  20. 写技术指标的一般方法

热门文章

  1. 计算机主机usb端口使用不了,电脑usb接口不能用怎么办
  2. 常用的内部网关协议(IGP)
  3. 知识分享之Golang——一个常见word、excel转换pdf的工具函数
  4. 大工14秋计算机英语3,【大工作业】秋季《大学英语3》在线测试2包100
  5. matlab中stem_这个假期为STEM中的儿童和儿童使用机器人入门
  6. System mem和AGP mem和video mem
  7. 【Day2.7】在华欣夜市吃海鲜大餐
  8. 平板电脑触摸屏市场现状及未来发展趋势
  9. 将一个文件夹下的MP4文件合并为一个
  10. Halcon 第四章『图像特征和提取』◆第3节:基于图像的纹理特征|灰度共生矩阵