天天看點

java讀寫ms word,excel,ppt...POI

求助編輯

POI

  Apache POI是 Apache 軟體基金會的開放源碼函式庫,POI提供API給Java程式對Microsoft Office格式檔案讀和寫的功能。   結構:   HSSF - 提供讀寫 Microsoft Excel格式檔案的功能。   XSSF - 提供讀寫 Microsoft Excel OOXML格式檔案的功能。   HWPF - 提供讀寫 Microsoft Word格式檔案的功能。   HSLF - 提供讀寫Microsoft PowerPoint格式檔案的功能。   HDGF - 提供讀寫 Microsoft Visio格式檔案的功能。    建立Excel 文檔   示例1将示範如何利用Jakarta POI API 建立Excel 文檔。   示例1程式如下:   import org.apache.poi.hssf.usermodel.HSSFWorkbook;   import org.apache.poi.hssf.usermodel.HSSFSheet;   import org.apache.poi.hssf.usermodel.HSSFRow;   import org.apache.poi.hssf.usermodel.HSSFCell;   import java .io.FileOutputStream;   public class CreateXL {      public static String outputFile="D:\\test.xls";   public static void main(String argv[]){   try{   // 建立新的Excel 工作簿   HSSFWorkbook workbook = new HSSFWorkbook();   // 在Excel工作簿中建一工作表,其名為預設值   // 如要建立一名為"效益名額"的工作表,其語句為:   // HSSFSheet sheet = workbook.createSheet("效益名額");   HSSFSheet sheet = workbook.createSheet();   // 在索引0的位置建立行(最頂端的行)   HSSFRow row = sheet.createRow((short)0);   //在索引0的位置建立單元格(左上端)   HSSFCell cell = row.createCell((short) 0);   // 定義單元格為字元串類型   cell.setCellType(HSSFCell.CELL_TYPE_STRING);   // 在單元格中輸入一些内容   cell.setCellValue("增加值");   // 建立一輸出檔案流   FileOutputStream fOut = new FileOutputStream(outputFile);   // 把相應的Excel 工作簿存盤   workbook.write(fOut);   fOut.flush();   // 操作結束,關閉檔案   fOut.close();   System.out.println("檔案生成...");   }catch(Exception e) {   System.out.println("已運作 xlCreate() : " + e );   }   }   }    讀取Excel文檔中的資料   示例2将示範如何讀取Excel文檔中的資料。假定在D盤JTest目錄下有一個檔案名為test1.xls的Excel檔案。   示例2程式如下:   import org.apache.poi.hssf.usermodel.HSSFWorkbook;   import org.apache.poi.hssf.usermodel.HSSFSheet;   import org.apache.poi.hssf.usermodel.HSSFRow;   import org.apache.poi.hssf.usermodel.HSSFCell;   import java .io.FileInputStream;   public class ReadXL {      public static String fileToBeRead="D:\\test1.xls";   public static void main(String argv[]){   try{   // 建立對Excel工作簿檔案的引用   HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));   // 建立對工作表的引用。   // 本例是按名引用(讓我們假定那張表有着預設名"Sheet1")   HSSFSheet sheet = workbook.getSheet("Sheet1");   // 也可用getSheetAt(int index)按索引引用,   // 在Excel文檔中,第一張工作表的預設索引是0,   // 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);   // 讀取左上端單元   HSSFRow row = sheet.getRow(0);   HSSFCell cell = row.getCell((short)0);   // 輸出單元内容,cell.getStringCellValue()就是取所在單元的值   System.out.println("左上端單元是: " + cell.getStringCellValue());   }catch(Exception e) {   System.out.println("已運作xlRead() : " + e );   }   }   }   設定單元格格式   在這裡,我們将隻介紹一些和格式設定有關的語句,我們假定workbook就是對一個工作簿的引用。在Java中,第一步要做的就是建立和設定 字型和單元格的格式,然後再應用這些格式:   1、建立字型,設定其為紅色、粗體:   HSSFFont font = workbook.createFont();   font.setColor(HSSFFont.COLOR_RED);   font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);   2、建立格式   HSSFCellStyle cellStyle= workbook.createCellStyle();   cellStyle.setFont(font);   3、應用格式   HSSFCell cell = row.createCell((short) 0);   cell.setCellStyle(cellStyle);   cell.setCellType(HSSFCell.CELL_TYPE_STRING);   cell.setCellValue("标題 ");     處理WORD文檔   import java .io.*;   import org.textmining.text.extraction.WordExtractor;   import org.apache.poi.hssf.usermodel.HSSFWorkbook;   import org.apache.poi.hssf.usermodel.HSSFSheet;   import org.apache.poi.hssf.usermodel.HSSFRow;   import org.apache.poi.hssf.usermodel.HSSFCell;   public class TestPoi {   public TestPoi() {   }   public static void main(String args[]) throws Exception   {   FileInputStream in = new FileInputStream ("D:\\a.doc");   WordExtractor extractor = new WordExtractor();   String str = extractor.extractText(in);   //System.out.println("the result length is"+str.length());   System.out.println(str);   }   }