创建Excel 文档

  示例1将演示如何利用Jakarta POI API 创建Excel 文档。

  示例1程序如下:
 

 
  
  1. import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  2. import org.apache.poi.hssf.usermodel.HSSFSheet;  
  3. import org.apache.poi.hssf.usermodel.HSSFRow;  
  4. import org.apache.poi.hssf.usermodel.HSSFCell;  
  5. import java.io.FileOutputStream;  
  6. public class CreateXL {  
  7.  
  8.  /** Excel 文件要存放的位置,假定在D盘下*/ 
  9.  
  10.  public static String outputFile="D:\\test.xls";  
  11.  
  12.  public static void main(String argv[]){  
  13.  
  14.  try{  
  15.  
  16.   // 创建新的Excel 工作簿  
  17.  
  18.   HSSFWorkbook workbook = new HSSFWorkbook();  
  19.  
  20.   // 在Excel工作簿中建一工作表,其名为缺省值  
  21.       // 如要新建一名为"效益指标"的工作表,其语句为:  
  22.       // HSSFSheet sheet = workbook.createSheet("效益指标");  
  23.  
  24.   HSSFSheet sheet = workbook.createSheet();  
  25.  
  26.   // 在索引0的位置创建行(最顶端的行)  
  27.  
  28.   HSSFRow row = sheet.createRow((short)0);  
  29.  
  30.   //在索引0的位置创建单元格(左上端)  
  31.   HSSFCell cell = row.createCell((short0);  
  32.   // 定义单元格为字符串类型  
  33.   cell.setCellType(HSSFCell.CELL_TYPE_STRING);  
  34.   // 在单元格中输入一些内容  
  35.   cell.setCellValue("增加值");  
  36.   // 新建一输出文件流  
  37.   FileOutputStream fOut = new FileOutputStream(outputFile);  
  38.   // 把相应的Excel 工作簿存盘  
  39.   workbook.write(fOut);  
  40.   fOut.flush();  
  41.   // 操作结束,关闭文件  
  42.   fOut.close();  
  43.   System.out.println("文件生成...");  
  44.  
  45.  }catch(Exception e) {  
  46.   System.out.println("已运行 xlCreate() : " + e );  
  47.  }  
  48. }  
  49. }  

读取Excel文档中的数据

  示例2将演示如何读取Excel文档中的数据。假定在D盘JTest目录下有一个文件名为test1.xls的Excel文件。

示例2程序如下:

 
  
  1. import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  2. import org.apache.poi.hssf.usermodel.HSSFSheet;  
  3. import org.apache.poi.hssf.usermodel.HSSFRow;  
  4. import org.apache.poi.hssf.usermodel.HSSFCell;  
  5. import java.io.FileInputStream;  
  6. public class ReadXL {  
  7.  /** Excel文件的存放位置。注意是正斜线*/ 
  8.  public static String fileToBeRead="D:\\test1.xls";  
  9.  public static void main(String argv[]){   
  10.  try{  
  11.   // 创建对Excel工作簿文件的引用  
  12.   HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));  
  13.   // 创建对工作表的引用。  
  14.   // 本例是按名引用(让我们假定那张表有着缺省名"Sheet1")  
  15.   HSSFSheet sheet = workbook.getSheet("Sheet1");  
  16.   // 也可用getSheetAt(int index)按索引引用,  
  17.   // 在Excel文档中,第一张工作表的缺省索引是0,  
  18.   // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);  
  19.   // 读取左上端单元  
  20.   HSSFRow row = sheet.getRow(0);  
  21.   HSSFCell cell = row.getCell((short)0);  
  22.   // 输出单元内容,cell.getStringCellValue()就是取所在单元的值  
  23.   System.out.println("左上端单元是: " + cell.getStringCellValue());   
  24.  }catch(Exception e) {  
  25.   System.out.println("已运行xlRead() : " + e );  
  26.  }  
  27. }  
  28. }  

设置单元格格式

  在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。在Java中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:

  1、创建字体,设置其为红色、粗体:
 

 
  
  1. HSSFFont font = workbook.createFont();  
  2. font.setColor(HSSFFont.COLOR_RED);  
  3. font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);  

2、创建格式
 

 
  
  1. HSSFCellStyle cellStyle= workbook.createCellStyle();  
  2. cellStyle.setFont(font);  

3、应用格式

 
  
  1. HSSFCell cell = row.createCell((short) 0);  
  2. cell.setCellStyle(cellStyle);  
  3. cell.setCellType(HSSFCell.CELL_TYPE_STRING);  
  4. cell.setCellValue("标题 ");  

处理WORD文档

 

 
  
  1. import java.io.*;   
  2. import org.textmining.text.extraction.WordExtractor;  
  3. import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  4. import org.apache.poi.hssf.usermodel.HSSFSheet;  
  5. import org.apache.poi.hssf.usermodel.HSSFRow;  
  6. import org.apache.poi.hssf.usermodel.HSSFCell;  
  7.  
  8. public class TestPoi {   
  9. public TestPoi() {   
  10. }   
  11. public static void main(String args[]) throws Exception   
  12. {   
  13. FileInputStream in = new FileInputStream ("D:\\a.doc");   
  14. WordExtractor extractor = new WordExtractor();   
  15. String str = extractor.extractText(in);   
  16. //System.out.println("the result length is"+str.length());   
  17. System.out.println(str);   
  18. }   
  19. }   

 PS:poi jar包的下载地址http://down.51cto.com/data/315346