1.poi读取word文档小例子:
import java.io.*; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.extractor.WordExtractor; public class ReadDocFile { public static void main(String[] args) { File file = null; WordExtractor extractor = null ; try { file = new File("c:\\New.doc"); FileInputStream fis=new FileInputStream(file.getAbsolutePath()); HWPFDocument document=new HWPFDocument(fis); extractor = new WordExtractor(document); String [] fileData = extractor.getParagraphText(); for(int i=0;i<fileData.length;i++){ if(fileData[i] != null) System.out.println(fileData[i]); } } catch(Exception exep){} } }
2.读取Excel:
package com.cn.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class Test2 { /** * @param args * @throws FileNotFoundException */ public static void main(String[] args) throws Exception { FileInputStream fis = new FileInputStream(new File("D:/myExcel.xls"));//1、创建文件读取对象并指定要读取的文件路径 HSSFWorkbook workBook = new HSSFWorkbook(fis);//2、将要读取的文件对象放入工作簿对象中 int sheetNum = workBook.getNumberOfSheets();//3、获取当前工作簿的页数 for(int i=0;i<sheetNum;i++){//4、通过循环获取该工作簿的每一个sheet页 HSSFSheet childSheet = workBook.getSheetAt(i);//5、获取指定的sheet页 int rowNum = childSheet.getLastRowNum();//6、获取当前sheet页的行数 for(int j=0;j<rowNum;j++){//5、通过循环获取该sheet页的每一行 HSSFRow row = childSheet.getRow(j);//6、获取指定的行 int cellNum = row.getLastCellNum();//7、获取该行的单元格数目 for(int k=0;k<cellNum;k++){//8、通过for循环获得该行的每一个单元格 System.out.print(row.getCell(k).toString()+"\t");//9、打印输出每个单元格中的数据。 } System.out.println(); } } } }
3.从数据库读取数据写入Excel表格中:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class PersonDao { /* * query database and packing the data into the Object(从数据库查询数据并封装到PersonModel对象中 */ public static List<PersonModel> QueryPerson() throws SQLException{ Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; String sql = "select * from persons"; conn = Utils.getConnection(); List<PersonModel> list = new ArrayList<PersonModel>(); try{ ps = conn.prepareStatement(sql); rs = ps.executeQuery(); while(rs.next()){ PersonModel model = new PersonModel(); model.setId(rs.getInt(1)); model.setName(rs.getString(2)); list.add(model); } }catch(SQLException e){ e.printStackTrace(); }finally{ Utils.closeDB(rs, ps, conn); } return list; } /* * create Excel and write the data */ public void CreateExcel() throws SQLException, IOException{ HSSFWorkbook workBook = new HSSFWorkbook();//创建一个workBook工作簿对象 HSSFSheet sheet = workBook.createSheet("First sheet");//创建一个sheet页 sheet.setColumnWidth((short)0, 2500); sheet.setColumnWidth((short)1, 5000); HSSFRow row = sheet.createRow((short)0); HSSFCell cell[] = new HSSFCell[2]; for(int i=0;i<2;i++){ cell[i] = row.createCell(i); } cell[0].setCellValue("id"); cell[1].setCellValue("name"); List<PersonModel> list = PersonDao.QueryPerson(); if(list != null && list.size() > 0){ for(int i=0;i<list.size();i++){ PersonModel model = list.get(i); HSSFRow dataRow = sheet.createRow(i+1); HSSFCell data[] = new HSSFCell[2]; for(int j=0;j<2;j++){ data[j] = dataRow.createCell(j); } data[0].setCellValue(model.getId()); data[1].setCellValue(model.getName()); File file = new File("D:\\person.xls"); FileOutputStream fos = new FileOutputStream(file); workBook.write(fos); fos.close(); } } } public List<PersonModel> readExcel(){ List<PersonModel> list = new ArrayList<PersonModel>(); try{ FileInputStream fis = new FileInputStream("D:/myExcel.xls"); HSSFWorkbook workBook = new HSSFWorkbook(fis); int sheetNum = workBook.getNumberOfSheets();//获取当前页数 for(int i=0;i<sheetNum;i++){ HSSFSheet childSheet = workBook.getSheetAt(i); int rowNum = childSheet.getLastRowNum();//获取当前行数 for(int j=1;j<rowNum;j++){ HSSFRow row = childSheet.getRow(j);//获取当前行 //PersonModel model = new PersonModel(); //model.setId(Integer.parseInt(row.getCell(0).toString())); //model.setName(row.getCell(1).toString()); //list.add(model); Integer id =new Integer((int) row.getCell(0).getNumericCellValue()); //System.out.print("nihao"); //System.out.print(id); insertDB(id,row.getCell(1).toString()); } } fis.close(); }catch(Exception e){ e.printStackTrace(); } return list; } public static void insertDB(int id,String name) throws Exception{ Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; String sql = "insert into persons values(?,?)"; conn = Utils.getConnection(); ps = conn.prepareStatement(sql); ps.setInt(1, id); ps.setString(2, name); if(ps.executeUpdate() > 0){ System.out.println("Operaion succeed!"); }else{ System.out.println("Operation failed!"); } Utils.closeDB(rs, ps, conn); } public static void main(String[] args) throws SQLException, IOException { PersonDao dao = new PersonDao(); //dao.CreateExcel(); dao.readExcel(); //System.exit(0); } }
4.把word2003转换成html:
package poi; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStream; import java.util.List; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.apache.commons.io.FileUtils; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.converter.PicturesManager; import org.apache.poi.hwpf.converter.WordToHtmlConverter; import org.apache.poi.hwpf.usermodel.Picture; import org.apache.poi.hwpf.usermodel.PictureType; import org.w3c.dom.Document; public class PoiWordToHtml { public static void main(String[] args) throws Throwable { final String path = "c:/temp/"; final String file = "1.doc"; InputStream input = new FileInputStream(path + file); HWPFDocument wordDocument = new HWPFDocument(input); WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()); wordToHtmlConverter.setPicturesManager(new PicturesManager() { public String savePicture(byte[] content, PictureType pictureType, String suggestedName, float widthInches, float heightInches) { return suggestedName; } }); wordToHtmlConverter.processDocument(wordDocument); List pics = wordDocument.getPicturesTable().getAllPictures(); if (pics != null) { for (int i = 0; i < pics.size(); i++) { Picture pic = (Picture) pics.get(i); try { pic.writeImageContent(new FileOutputStream(path + pic.suggestFullFileName())); } catch (FileNotFoundException e) { e.printStackTrace(); } } } Document htmlDocument = wordToHtmlConverter.getDocument(); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); DOMSource domSource = new DOMSource(htmlDocument); StreamResult streamResult = new StreamResult(outStream); TransformerFactory tf = TransformerFactory.newInstance(); Transformer serializer = tf.newTransformer(); serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8"); serializer.setOutputProperty(OutputKeys.INDENT, "yes"); serializer.setOutputProperty(OutputKeys.METHOD, "html"); serializer.transform(domSource, streamResult); outStream.close(); String content = new String(outStream.toByteArray()); FileUtils.write(new File(path, "1.html"), content, "utf-8"); } }
相关推荐
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在本文中,我们将深入探讨如何使用POI进行Excel的读写操作,并进行总结。 1. POI基本概念 Apache POI 提供了...
关于压缩包中的"poi读写word模板包",可能包含了一些示例代码或模板文件,帮助开发者理解如何使用Apache POI进行Word模板的读写。解压后,你可以查看这些文件来学习具体实现,包括如何查找和替换模板中的特定字符串...
在Android开发中,Apache POI 是一个非常实用的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,如Word文档(.doc)和Excel工作簿(.xlsx或.xls)。这个工具对于需要在Android应用中处理这些文档的...
"poi3.9读写excel兼容03和07版本"这个标题指的是使用Apache POI 3.9版本的API,能够兼容两种不同格式的Excel文件:.xls(Excel 2003及更早版本)和.xlsx(Excel 2007及更高版本)。 在描述中提到的"完美修订版本...
此外,POI还提供了用于处理Word和PowerPoint文档的功能。 2. **创建Excel文档** 创建一个新的Excel文档,首先需要创建一个Workbook对象,然后是Sheet对象,最后是Row和Cell对象。例如: ```java Workbook ...
java读写Excel,POI.JAR,Word内容读取
Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 格式,如 Word、Excel 和 PowerPoint。在处理 Word .doc 文件时,POI 提供了一个名为 HWPF(Horizontally Written Property Set Files)的模块。这个...
Apache POI是一个流行的开源库,专门用于处理Microsoft Office格式的文件,包括Excel(.xls和.xlsx)和Word(.doc和.docx)。在本场景中,我们关注的是使用POI 3.1版本来读取和写入Excel以及WPS的ET文件。POI 3.1是...
在IT行业中,尤其是在文档自动化处理领域,Apache POI是一个非常重要的工具,它允许开发者使用Java来操作Microsoft Office格式的文件,如Word、Excel和PowerPoint。本教程将深入讲解如何利用Apache POI的XWPF模块...
Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,如Word(.doc, .docx)、Excel(.xls, .xlsx)、PowerPoint(.ppt, .pptx)等。通过使用POI,开发者可以创建、读取、修改这些文件,并且将...
Java POI是一个强大的库,主要用于处理Microsoft Office格式的文件,如Word、Excel和PowerPoint。在本示例中,我们将探讨如何使用POI进行一系列操作,包括将Word文档转换为HTML,以及从数据库导出数据到Excel。 1. ...
1. **Apache POI基础**:Apache POI提供了HPSF(Hierarchical Property Set Facility)来处理Word文档的元数据,HWPF(Horrible Word Processor Format)用于读写Word97-2003的.DOC文件,而HSSF用于读写Excel的.BIFF...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在Java环境中,Apache POI 提供了API,使得开发者能够方便地读取、写入和修改这些文件。标题提到的是"POI3.7...
其中,POI-HSSF组件用于读写MS Excel(.xls)文件,而POI-XSSF组件则用于读写Office Open XML(.xlsx)文件。POI-OOXML组件提供了对Office Open XML文件的支持,包括Word(.docx)、Excel(.xlsx)和PowerPoint(....
POI是java对Word和Excel 文件操作的插件,这文档主要是教我们怎么使用POI插件对Word和Excel文件进行读写操作
Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,尤其是Excel(.xls)和Word(.doc)文档。HSSF(Horizontally Stored Sheet Format)是Apache POI项目的一部分,专注于处理旧版的Excel文件...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word、Excel和PowerPoint。在本主题中,我们将深入探讨如何使用POI库来导出Word文档,并进行页眉、页脚和标题的设置。这个过程涉及到对Word...
Java POI是Apache软件基金会的开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在Java编程中,如果你需要读取、写入或修改Excel文件,Java POI库是一个非常实用的工具。这篇博客...
Apache POI 是一个流行的开源库,专为处理Microsoft Office格式的文件,如Word(.doc/.docx)和Excel(.xls/.xlsx)。本教程将深入探讨如何使用Apache POI库来实现这些文件向HTML的转换,以实现跨平台和浏览器的兼容...
以上就是使用Java的Apache POI框架读写Excel和Word文档的基本操作。实际应用中,你可能需要处理更复杂的情况,如样式设置、公式计算、图表操作等,这都需要进一步学习POI提供的高级API。在实践中不断探索和学习,你...