1.poi簡介
1.1什么是poi
Apache POI 是用Java編寫的免費開源的跨平台的 Java API,Apache POI提供API給Java對Microsoft Office格式檔案讀和寫的功能。POI為“Poor Obfuscation Implementation”的首字母縮寫,意為“簡潔版的模糊實現”。
1.2poi常用的包
HSSF - 提供讀寫Microsoft Excel XLS格式檔案的功能。
XSSF - 提供讀寫Microsoft Excel OOXML XLSX格式檔案的功能。
HWPF - 提供讀寫Microsoft Word DOC格式檔案的功能。
HSLF - 提供讀寫Microsoft PowerPoint格式檔案的功能。
HDGF - 提供讀Microsoft Visio格式檔案的功能。
HPBF - 提供讀Microsoft Publisher格式檔案的功能。
HSMF - 提供讀Microsoft Outlook格式檔案的功能。
2.poi簡單使用
2.1新建一個maven項目
項目名:compoidemo
2.2導入依賴
<dependencies> <!--xls--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <!--xlsx--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.9</version> </dependency> <!--test--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies>
2.3POI操作Excel的使用
(1)POI用來操作office讀寫的功能的工具
(2)2003版本的(.xls)HSSFWorkbook 和2007版本的(.xlsx)XSSFWorkbook
(3)結構:workbook--sheet--row--cell
(4)步驟:
//1.創建workbook
//2.根據workbook創建sheet
//3.根據sheet創建row
//4.根據row創建cell
//5.向cell里面設置值
//6.通過輸出流寫到文件里去
(5)Excel寫操作
@Test public void writeExcel03() throws Exception { //1.創建workbook Workbook workbook=new HSSFWorkbook(); //2.根據workbook創建sheet Sheet sheet = workbook.createSheet("會員列表"); //3.根據sheet創建row Row row1 = sheet.createRow(0); //4.根據row創建cell Cell cell1 = row1.createCell(0); //5.向cell里面設置值 cell1.setCellValue("按鍵"); //6.通過輸出流寫到文件里去 FileOutputStream fos=new FileOutputStream("D:\\123\\01.xls"); workbook.write(fos); fos.close(); }
(6)Excel讀操作
@Test public void readExcel03() throws Exception { FileInputStream fis=new FileInputStream("D:\\123\\01.xls"); Workbook workbook=new HSSFWorkbook(fis); Sheet sheet = workbook.getSheetAt(0); Row row = sheet.getRow(0); Cell cell = row.getCell(0); System.out.println(cell.getStringCellValue()); }
2.4POI操作word的使用
(1)安裝依賴
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.8</version> </dependency>
(2)word讀操作
@Test public void readWord() throws Exception { //得到.docx文件提取器 XWPFWordExtractor docx = new XWPFWordExtractor(POIXMLDocument.openPackage("C:\\Users\\eric.fang\\Desktop\\demo.docx")); //提取.docx正文文本 String text = docx.getText(); System.out.println(text); }