Apache POI:Java程序读写Microsoft Office格式文档-1

        1.Apache POI简介

Apache POI是Apache软件基金会的开放源码函式库,官方名称为:Apache POI - the Java API for Microsoft Documents,POI提供API给Java程序对Microsoft Office格式文档读和写的功能。 .NET的开发人员则可以利用NPOI (POI for .NET) 来存取 POI 的功能。

      2.Apache POI结构

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格式档案的功能。

      3.Apache POI应用实例:

首先需要从阿帕奇官网下载poi的jar文件; 配置完jar文件之后,就可以运行下面的实例了 这里仅用读写Excel表格的简单例子演示:

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;  
import java .io.FileOutputStream;  
public class CreateExcel  
{  
    /* Excel 文件要存放的位置:D盘*/  
    public static String outputFile="D:\\test.xls";  
    public static void main(String argv[])  
    {  
        readSheet();  
    }  
    //演示如何利用Jakarta POI API 创建Excel 文档。  
    public static void createSheet()  
    {  
        try{  
            // 创建新的Excel 工作簿  
            HSSFWorkbook workbook = new HSSFWorkbook();  
            //如要新建一名为"效益指标"的工作表,其语句为:  
            HSSFSheet sheet = workbook.createSheet("效益指标");  
            // 在Excel工作簿中建一工作表,其名为缺省值,  
            //HSSFSheet sheet = workbook.createSheet();  
              
            // 在索引0的位置创建行(最顶端的行)  
            HSSFRow row = sheet.createRow(0);  
            //在索引0的位置创建单元格(左上端)  
             HSSFCell cell =row.createCell(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("!!!!!!" + e.getMessage());  
        }  
    }  
      
    //演示如何读取Excel文档中的数据  
    public static void readSheet()  
    {  
        try{  
            // 创建对Excel工作簿文件的引用  
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(outputFile));  
            // 创建对工作表的引用。  
            // 本例是按名引用  
            HSSFSheet sheet = workbook.getSheet("效益指标");  
            // 也可用getSheetAt(int index)按索引引用,  
            // 在Excel文档中,第一张工作表的缺省索引是0,  
            // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);  
            // 读取左上端单元  
            HSSFRow row = sheet.getRow(0);  
            HSSFCell cell = row.getCell(0);  
            // 输出单元内容,cell.getStringCellValue()就是取所在单元的值  
            System.out.println("左上端单元是: " + cell.getStringCellValue());  
        }  
        catch(Exception e)   
        {  
            System.out.println("!!!! " + e );  
        }  
    }     
}  



 

猜你喜欢

转载自i2019.iteye.com/blog/2211919