• 由于时间问题,所以粗略的封装了一个生成pdf表格的工具包(不喜欢讲废话,直接上代码!!!)
package com.sgcc.dlsc.jibei.commons.utils;import com.itextpdf.kernel.colors.DeviceRgb;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.property.HorizontalAlignment;
import com.itextpdf.layout.property.UnitValue;import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
import java.util.Map;/*** 作者:llc* 日期:2021/10/22* 时间:9:53**/
public class CreatePdfUtils {/***自动生成序号* @param list  数据集合* @param headerArr  表头名称* @param i 生成几列* @param fieldNameArr 数据字段* @param fileName 生成的文件名称*/public static void createXhPdf(List<Map<String,Object>> list, String[] headerArr, int i,String[] fieldNameArr,String fileName){try {/*            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(System.getProperty("user.dir") + "\\insertPdf\\pdf\\"+fileName+".pdf"));*/PdfDocument pdfDoc = new PdfDocument(new PdfWriter("px-settlement-parsings/insertPdf/pdf/"+fileName+".pdf"));Document doc = new Document(pdfDoc);// 构建文档对象// 中文字体PdfFont sysFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);// 构建表格以100%的宽度int num = i+1;Table table = new Table(num).setWidth(UnitValue.createPercentValue(100));table.addCell(new Cell().add(new Paragraph("序号")).setFont(sysFont).setBackgroundColor(new DeviceRgb(221, 234, 238)));for (String s : headerArr) {table.addCell(new Cell().add(new Paragraph(s)).setFont(sysFont).setBackgroundColor(new DeviceRgb(221, 234, 238)));}int count = 1;for (int i1 = 0; i1 < list.size(); i1++) {String a = count+i1+"";table.addCell(new Cell().add(new Paragraph(a)).setFont(sysFont));for (int i2 = 0; i2 < fieldNameArr.length; i2++) {System.out.println(a+"-----"+list.get(i1).get(fieldNameArr[i2]));table.addCell(new Cell().add(new Paragraph(list.get(i1).get(fieldNameArr[i2]).toString())).setFont(sysFont));}}// 将表格添加入文档并页面居中doc.add(table.setHorizontalAlignment(HorizontalAlignment.CENTER));doc.close();System.out.println( "文件路径-----:px-settlement-parsings/insertPdf/pdf/"+fileName+".pdf");} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}/***不生成序号* @param list  数据集合* @param headerArr  表头名称* @param i 生成几列* @param fieldNameArr 数据字段,要与数据库的字段名对应* @param fileName 生成的文件名称*/public static void createPdf(List<Map<String,Object>> list, String[] headerArr, int i,String[] fieldNameArr,String fileName){try {PdfDocument pdfDoc = new PdfDocument(new PdfWriter(System.getProperty("user.dir") + "\\"+fileName+".pdf"));Document doc = new Document(pdfDoc);// 构建文档对象// 中文字体PdfFont sysFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);// 构建表格以100%的宽度Table table = new Table(i).setWidth(UnitValue.createPercentValue(100));for (String s : headerArr) {table.addCell(new Cell().add(new Paragraph(s)).setFont(sysFont).setBackgroundColor(new DeviceRgb(221, 234, 238)));}for (int i1 = 0; i1 < list.size(); i1++) {for (int i2 = 0; i2 < fieldNameArr.length; i2++) {table.addCell(new Cell().add(new Paragraph(list.get(i1).get(fieldNameArr[i2]).toString())).setFont(sysFont));}}// 将表格添加入文档并页面居中doc.add(table.setHorizontalAlignment(HorizontalAlignment.CENTER));doc.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}
  1. 工具包可自行修改路径,我选择的是直接创建好文件夹,然后生成pdf文件
  2. 如果要生成到根目录就打开注释,第一个代码函数会自动在你的数据表格中生成序列号
  3. fieldNameArr 要与你的数据库表字段名对应

(新人上路,请多关照,谢谢!!!)

Java—将数据生成pdf表格相关推荐

  1. Java动态数据生成PDF文档及下载

    查了很多资料都没有我想要的pdf,于是根据iText基础知识(这里是看了宝爷的笔记点击打开链接)自行编辑了一个简单的表格pdf文档 运用spring.mybatis.CXF框架 SSM框架打印pdf: ...

  2. java 生成pdf文件_Java 中HTTP响应数据生成PDF,PDF文件的读取

    将HTTP响应数据生成PDF,这一步的话,就比较坑,浪费了好多时间,查了很多资料,也是我想把它记录下来的主要原因, 废话少说,先说踩的坑 1.区分字符流.字节流 这里可以百度一下,但是简言之就是: j ...

  3. Java使用itext生成Pdf

    Java使用itext生成Pdf 背景 所需依赖 解决jpedal-lgpl jar包问题 示例代码 生成带图片的PDF(使用本地文件系统图片) 生成带图片的PDF(使用网络图片) 背景 在某些业务场 ...

  4. Java纯后端生成PDF格式报表的三种方案(包含echarts图表)

    最近做了一个奇葩的需求,研究了一下Java纯后端生成PDF报表的方案,顺便将研究的方案做个总结复盘,分享一下. 需求分析:Java后端定时任务统计汇总成报表数据,并生成PDF格式的报表文件,并通过邮件 ...

  5. java使用jxl生成excel表格,jsp使用js下载excel文件xls

    java使用jxl生成excel表格,jsp使用js下载excel文件 后端代码 maven jar包 主体代码逻辑 引入的jar包 具体代码段 重点详解 表头和表格内容两种格式 直接将 HttpSe ...

  6. linux qt写入excel文件内容,Qt 读取Excel表格数据 生成Excel表格并写入数据

    Qt 读取Excel表格数据 生成Excel表格并写入数据 Qt 读取Excel表格数据 生成Excel表格并写入数据 修改.pro文件,增加 axcontainer QT += axcontaine ...

  7. java用itextPDF生成PDF文件保存至本地并上传至ftp服务器

    标题java用itextPDF生成PDF文件保存至本地并上传至ftp服务器 所需jar :itext-asian-5.2.0.jar,itextpdf-5.5.5.jar,commons-net-3. ...

  8. java根据模板生成pdf文件并导出(iText)

    java根据模板生成pdf文件并导出 首先你的制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf格式文件 3.通过Adobe Acrobat pro软件打开刚刚用word转换成的 ...

  9. 统计书中单词出现次数, 然后把数据生成pdf

    #/usr/bin/env python # *-*coding:utf-8 *-* #运行环境python3用Counter统计书中单词的使用次数 import sys from collectio ...

最新文章

  1. 无论什么级别程序员,“微服务架构”都是你必须过的坎!
  2. 【jquery】一款不错的音频播放器——Amazing Audio Player
  3. 终于收到微软的衬衫了!!!
  4. lua-resty-iputils, 在Openresty中,用于处理IP地址的实用程序函数
  5. 恍然小悟,去掉Excel的worksheet(工作表)保护的新方法
  6. eslint检测时报错
  7. JavaScript游戏之是男人就飞10000米
  8. Master公式求递归复杂度
  9. jsp分页功能的位置有可能会影响到翻页时的查询条件
  10. QT creator安装教程
  11. 基于multisim的电子秒表
  12. 小程序图片上传,存储,获取,显示
  13. 福昕软件发布福昕高级PDF编辑器 for Linux
  14. --save-dev 与 --save的区别
  15. 宾州州立大学计算机排名,宾州州立大学帕克分校排名
  16. [滴滴校招]末尾0的个数
  17. 大前端 (六) -- HTML5 标签 5
  18. 全网征集对六如偈的理解:一切有为法,如梦幻泡影,如露亦如电,应作如是观
  19. 冰点还原精灵使用技巧
  20. Android app集成友盟微社区详细步骤

热门文章

  1. 微信支付服务器system error,微信企业支付--遇到不明确结果的err_code:SYSTEMERROR,NOT_FOUND...
  2. 照片像素化项目(on Github)
  3. 信息安全数学基础(仅供个人复习使用)
  4. 轴承故障诊断之时域指标
  5. java两张png图片合成_java将两张图片合成
  6. linux 中 lrwxrwxrwx是什么意思?
  7. 永久删除的文件如何恢复?
  8. 协作机器人市场现在状况如何?——探讨关于UR机器人的发展前景
  9. 22-2-21 ETH币价今日价格分析
  10. Java回炉学习(一)