有些时候我们需要读写excel和word,或者将文字转为pdf那我们应该怎么做呢?
如果需要读写excel需要添加包:
org.apache.poi poi-ooxml 3.15
如果需要读写word需要添加包:
org.apache.poi poi-scratchpad 3.15
如果需要操作pdf,需要添加pdf,需要添加:
com.itextpdf itextpdf 5.5.10 com.itextpdf itext-asian 5.2.0 org.bouncycastle bcprov-jdk15on 1.54
然后是如何在代码中操作excel:
/** * @author panmingshuai * @description * @Time 2018年4月2日 下午4:29:08 * */public class ExcelTest { @SuppressWarnings("resource") public static void main(String[] args) throws Exception { /** * 读取excel */// FileInputStream in = new FileInputStream(new File("E:\\mz.xlsx")); //读取xlsx的excel// XSSFWorkbook workbook = new XSSFWorkbook(in); //读取xls的excel// HSSFWorkbook workbook = new HSSFWorkbook(in); //循环遍历excel表// for(int i=0; i
至于代码的意义,注释已经很详细了。
接下来是操作word:
/** * @author panmingshuai * @description * @Time 2018年4月2日 下午5:46:30 * */public class WordTest { @SuppressWarnings("resource") public static void main(String[] args) throws Exception { /** * 读取doc文档 */ // FileInputStream in = FileUtils.openInputStream(new // File("E:\\qwe.doc")); // HWPFDocument doc = new HWPFDocument(in); // Range range = doc.getRange(); // for(int i=0; i
然后是操作pdf:
/** * @author panmingshuai * @description * @Time 2018年4月3日 上午10:27:10 * */public class PdfTest { public static void main(String[] args) throws Exception { // 1、新建document对象 Document document = new Document(); // 2、建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。 // 创建 PdfWriter 对象 第一个参数是对文档对象的引用,第二个参数是文件的实际名称,在该名称中还会给出其输出路径。 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("E:\\pan.pdf")); // 给PDF文件设置密码,需要引入bcprov-jdk15on.jar包 //用户密码 String userPassword = "123456"; //拥有者密码(可以编辑pdf,例如插入页眉之类的) String ownerPassword = "pan"; writer.setEncryption(userPassword.getBytes(), ownerPassword.getBytes(), PdfWriter.ALLOW_PRINTING,PdfWriter.ENCRYPTION_AES_128); //3、打开文档 document.open(); //4、PDF中设置段落样式,输出中文内容,必须引入itext-asian.jar //中文字体,解决中文不能显示问题 BaseFont bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED); //蓝色字体 Font blueFont = new Font(bfChinese); blueFont.setColor(BaseColor.BLUE); //段落文本 Paragraph paragraphBlue = new Paragraph("蓝色段落", blueFont); document.add(paragraphBlue); //绿色字体 Font greenFont = new Font(bfChinese); greenFont.setColor(BaseColor.GREEN); //创建章节(会另起一页) Paragraph chapterTitle = new Paragraph("段落标题xxxx", greenFont); Chapter chapter1 = new Chapter(chapterTitle, 1); chapter1.setNumberDepth(0); Paragraph sectionTitle = new Paragraph("部分标题", greenFont); Section section1 = chapter1.addSection(sectionTitle); Paragraph sectionContent = new Paragraph("部分内容", blueFont); section1.add(sectionContent); //将章节添加到文章中 document.add(chapter1); //5、添加图片 //图片1 Image image1 = Image.getInstance("E:\\123.jpg"); //设置图片位置的x轴和y周 image1.setAbsolutePosition(100f, 550f); //设置图片的宽度和高度 image1.scaleAbsolute(200, 200); //将图片1添加到pdf文件中 document.add(image1); //图片2 Image image2 = Image.getInstance(new URL("http://b.hiphotos.baidu.com/image/pic/item/6159252dd42a28341d491d0057b5c9ea14cebfc9.jpg")); //设置图片位置的x轴和y周 image2.setAbsolutePosition(100f, 300f); //设置图片的宽度和高度 image2.scaleAbsolute(200, 200); //将图片2添加到pdf文件中 document.add(image2); //6、添加表格: //添加一个3列的表 PdfPTable table = new PdfPTable(3); table.setWidthPercentage(100); // 宽度100%填充 table.setSpacingBefore(10f); // 前间距 table.setSpacingAfter(10f); // 后间距 ListlistRow = table.getRows(); //设置列宽 float[] columnWidths = { 1f, 2f, 3f }; table.setWidths(columnWidths); //行1 PdfPCell cells1[]= new PdfPCell[3]; PdfPRow row1 = new PdfPRow(cells1); //单元格 cells1[0] = new PdfPCell(new Paragraph("111"));//单元格内容 cells1[0].setBorderColor(BaseColor.BLUE);//边框颜色 cells1[0].setPaddingLeft(20);//左填充20 cells1[0].setHorizontalAlignment(Element.ALIGN_CENTER);//水平居中 cells1[0].setVerticalAlignment(Element.ALIGN_MIDDLE);//垂直居中 cells1[1] = new PdfPCell(new Paragraph("222")); cells1[2] = new PdfPCell(new Paragraph("333")); //行2 PdfPCell cells2[]= new PdfPCell[3]; PdfPRow row2 = new PdfPRow(cells2); cells2[0] = new PdfPCell(new Paragraph("444")); //把第一行添加到集合 listRow.add(row1); listRow.add(row2); //把表格添加到文件中 document.add(table); //添加有序列表 com.itextpdf.text.List orderedList = new com.itextpdf.text.List(com.itextpdf.text.List.ORDERED); orderedList.add(new ListItem("Item one")); orderedList.add(new ListItem("Item two")); orderedList.add(new ListItem("Item three")); document.add(orderedList); //设置属性 //标题 document.addTitle("this is a title"); //作者 document.addAuthor("pan"); //主题 document.addSubject("this is subject"); //关键字 document.addKeywords("Keywords"); //创建时间 document.addCreationDate(); //应用程序 document.addCreator("pan.com"); // 关闭文档 document.close(); //关闭书写器 writer.close(); }}
完毕。