`

POI excel

    博客分类:
  • java
阅读更多
Apache的Jakata项目的POI子项目,目标是处理ole2对象。 POI可以到 http://www.apache.org/dyn/closer.cgi/jakarta/poi/ 下载。 编译好的jar主要有这样4个:poi包,poi Browser包,poi hdf包,poi hssf例程包。实际运行时,需要有poi包就可以了。

HSSF提供给用户使用的对象在org.apache.poi.hssf.usermodel包中,主要部分包括Excell对象,样式和格式,还有辅助操作。有以下几种对象:
HSSFWorkbook excell的文档对象
HSSFSheet excell的表单
HSSFRow excell的行
HSSFCell excell的格子单元
HSSFFont excell字体
HSSFName 名称
HSSFDataFormat 日期格式

在poi1.7中才有以下2项:
HSSFHeader sheet头
HSSFFooter sheet尾

和这个样式
HSSFCellStyle cell样式

辅助操作包括
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 错误信息表

下面是一个简单的例子:


  /** */ /**
*
  */
package  com.justinmobile.payease.admin.commons.excel;

import  java.io.FileNotFoundException;
import  java.io.FileOutputStream;
import  java.io.IOException;
import  java.util.Calendar;

import  org.apache.poi.hssf.usermodel.HSSFCell;
import  org.apache.poi.hssf.usermodel.HSSFCellStyle;
import  org.apache.poi.hssf.usermodel.HSSFDataFormat;
import  org.apache.poi.hssf.usermodel.HSSFRow;
import  org.apache.poi.hssf.usermodel.HSSFSheet;
import  org.apache.poi.hssf.usermodel.HSSFWorkbook;

/** */ /**
* 生成导出Excel文件对象
*
*  @author  John.Zhu
*
  */
  public   class  XLSExport   {

     //  设置cell编码解决中文高位字节截断
      private   static   short  XLS_ENCODING  =  HSSFWorkbook.ENCODING_UTF_16;

     //  定制日期格式
      private   static  String DATE_FORMAT  =   " m/d/yy " ;  //  "m/d/yy h:mm"

     //  定制浮点数格式
      private   static  String NUMBER_FORMAT  =   " #,##0.00 " ;

     private  String xlsFileName;

     private  HSSFWorkbook workbook;

     private  HSSFSheet sheet;

     private  HSSFRow row;

     /** */ /**
     * 初始化Excel
     *
     *  @param  fileName
     *            导出文件名
      */
      public  XLSExport(String fileName)   {
         this .xlsFileName  =  fileName;
         this .workbook  =   new  HSSFWorkbook();
         this .sheet  =  workbook.createSheet();
    }

      /** */ /**
     * 导出Excel文件
     *
     *  @throws  XLSException
      */
      public   void  exportXLS()  throws  XLSException   {
         try    {
            FileOutputStream fOut  =   new  FileOutputStream(xlsFileName);
            workbook.write(fOut);
            fOut.flush();
            fOut.close();
        }   catch  (FileNotFoundException e)   {
             throw   new  XLSException( " 生成导出Excel文件出错! " , e);
        }   catch  (IOException e)   {
             throw   new  XLSException( " 写入Excel文件出错! " , e);
        }

    }

      /** */ /**
     * 增加一行
     *
     *  @param  index
     *            行号
      */
      public   void  createRow( int  index)   {
         this .row  =   this .sheet.createRow(index);
    }

      /** */ /**
     * 设置单元格
     *
     *  @param  index
     *            列号
     *  @param  value
     *            单元格填充值
      */
      public   void  setCell( int  index, String value)   {
        HSSFCell cell  =   this .row.createCell(( short ) index);
        cell.setCellType(HSSFCell.CELL_TYPE_STRING);
        cell.setEncoding(XLS_ENCODING);
        cell.setCellValue(value);
    }

      /** */ /**
     * 设置单元格
     *
     *  @param  index
     *            列号
     *  @param  value
     *            单元格填充值
      */
      public   void  setCell( int  index, Calendar value)   {
        HSSFCell cell  =   this .row.createCell(( short ) index);
        cell.setEncoding(XLS_ENCODING);
        cell.setCellValue(value.getTime());
        HSSFCellStyle cellStyle  =  workbook.createCellStyle();  //  建立新的cell样式
         cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat(DATE_FORMAT));  //  设置cell样式为定制的日期格式
         cell.setCellStyle(cellStyle);  //  设置该cell日期的显示格式
     }

      /** */ /**
     * 设置单元格
     *
     *  @param  index
     *            列号
     *  @param  value
     *            单元格填充值
      */
      public   void  setCell( int  index,  int  value)   {
        HSSFCell cell  =   this .row.createCell(( short ) index);
        cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
        cell.setCellValue(value);
    }

      /** */ /**
     * 设置单元格
     *
     *  @param  index
     *            列号
     *  @param  value
     *            单元格填充值
      */
      public   void  setCell( int  index,  double  value)   {
        HSSFCell cell  =   this .row.createCell(( short ) index);
        cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
        cell.setCellValue(value);
        HSSFCellStyle cellStyle  =  workbook.createCellStyle();  //  建立新的cell样式
         HSSFDataFormat format  =  workbook.createDataFormat();
        cellStyle.setDataFormat(format.getFormat(NUMBER_FORMAT));  //  设置cell样式为定制的浮点数格式
         cell.setCellStyle(cellStyle);  //  设置该cell浮点数的显示格式
     }

}
调用的过程:
  /** */ /**
*
  */
package  com.justinmobile.payease.admin.commons.excel;

import  java.util.Calendar;

/** */ /**
* 导出Excel示例
*
*  @author  John.Zhu
*
  */
  public   class  XLSDemo   {

     public   static   void  main(String[] args)   {
        System.out.println( " 开始导出Excel文件 " );
        XLSExport e  =   new  XLSExport( " d:/test.xls " );
        e.createRow( 0 );
        e.setCell( 0 ,  " 编号 " );
        e.setCell( 1 ,  " 名称 " );
        e.setCell( 2 ,  " 日期 " );
        e.setCell( 3 ,  " 金额 " );
        e.createRow( 1 );
        e.setCell( 0 ,  1 );
        e.setCell( 1 ,  " 工商银行 " );
        e.setCell( 2 , Calendar.getInstance());
        e.setCell( 3 ,  111123.99 );
        e.createRow( 2 );
        e.setCell( 0 ,  2 );
        e.setCell( 1 ,  " 招商银行 " );
        e.setCell( 2 , Calendar.getInstance());
        e.setCell( 3 ,  222456.88 );
         try    {
            e.exportXLS();
            System.out.println( " 导出Excel文件[成功] " );
        }   catch  (XLSException e1)   {
            System.out.println( " 导出Excel文件[失败] " );
            e1.printStackTrace();
        }
    }
}
分享到:
评论

相关推荐

    poi excel poi excel poi excel

    ### POI Excel知识点详解 #### 一、Jakarta POI简介与Apache POI的作用 Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来处理 Microsoft Office 文件格式,特别是针对 Excel(`.xls` 和 `.xlsx`)...

    poi excel转换成bean

    在Java开发中,Apache POI 是一个非常流行的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel工作簿。标题“poi excel转换成bean”涉及到的关键技术是使用Apache POI从Excel文件中读取数据并...

    JAVA POI Excel转Html

    JAVA POI Excel转Html,代码和所需的jar都在压缩包,项目在线预览需求,实现后分享下

    java使用 POI Excel模板导出数据

    在Java编程中,Apache POI库是一个非常流行的工具,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel。这篇博客"java使用POI Excel模板导出数据"探讨了如何利用POI库在Java中创建Excel模板并填充...

    poi excel转html

    poi提供了excel转html的代码,但是吧,有好多问题。当有合并单元格时边框获取不到,单元格内的字体样式也转换不了,现在对poi提供的Tohtml.java做了一些修改,修复了这些问题,记录下,以备之后用到

    poi excel example,分页,行高,列宽

    标题中的“poi excel example,分页,行高,列宽”指的是使用Apache POI库来操作Excel文件的一些关键功能,包括设置分页、调整行高和列宽。Apache POI是一个流行的Java API,用于读取和写入Microsoft Office格式的...

    poi excel加密

    在Java开发中,Apache POI库是一个非常实用的工具,用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。当我们谈论“poi excel加密”时,这通常是指使用Apache POI来处理加密的Excel文件。Excel文件...

    SpringMVC POI Excel 生成导出

    "SpringMVC POI Excel 生成导出" SpringMVC 是一个基于 Java 的 Web 框架,POI 是一个 Java 库,用于操作 Microsoft Office 文件格式,Excel 是一个电子表格软件。今天,我们将在 SpringMVC 中使用 POI 生成 Excel ...

    poi excel 模板读取 复制表 复制行且区分合并行

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在Java开发中,POI库被广泛用于读取、写入和修改Excel文档。本篇将详细介绍如何使用Apache POI来读取Excel模板,复制工作表(Sheet...

    POI Excel官方源码及文档及实例

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。这个资源包包含了POI项目的源代码、相关文档以及示例,可以帮助开发者深入理解如何使用POI来操作Excel文件。 一...

    poi excel 模板读取并导出带公式的excel文档

    ### POI Excel 模板读取并导出带公式的Excel文档 #### 一、概述 在实际工作中,经常需要批量处理数据,并将其导出到Excel文件中,特别是在需要复杂计算的情况下,例如工资单、统计数据汇总等场景。利用Apache POI...

    POI Excel最新官方开发包及文档

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,尤其是Excel(.xls和.xlsx)文件。这个“POI Excel最新官方开发包及文档”包含的是Apache POI库的最新版本及其相关的用户手册和API文档,为...

    poiexcel导出html格式

    Apache POI 是一个开源项目,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在 POI 3.10 及以后的版本中,引入了对将 Excel 工作簿转换为 HTML 格式的支持,这极大地扩展了其在数据导出和网页展示中的应用...

    基于POI的Excel操作Java类

    为更方便的使用POI的API来操作Excel(2003)文件,对POI中针对Excel文件的读写进行了简单封装。此类中包含以下功能: 1.根据模板创建Excel文件 ...压缩包中包含POI的jar文件、POIExcel的jar文件及POIExcel的源码

    poi excel导入

    标题“poi excel导入”指的是使用Apache POI库来读取Excel文件并将其数据导入到数据库中。Apache POI是Java编程语言中一个流行的库,它允许开发者创建、修改和显示Microsoft Office格式的文件,其中包括Excel(.xlsx...

    POI Excel 工具类

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,尤其是Excel文档。这个工具类库使得Java开发者能够方便地读取、写入和操作Excel文件,而无需依赖Microsoft Office套件。以下是对POI Excel工具...

    Apache Poi Excel导出

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在Java开发中,Apache POI 提供了一种高效且灵活的方式来创建、修改和读取Excel工作簿。这篇博客“Apache Poi Excel导出”可能详细...

    Java POI EXCEL导入导出

    Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出...

    PoiExcel_single_save.rar

    本项目"**PoiExcel_single_save.rar**"显然是利用Apache POI进行Excel文件的读写操作,并结合了ZBar二维码扫描技术,将扫描数据回填到Excel文件中。下面将详细解释这些技术及其应用。 **Apache POI** Apache POI ...

    poi excel JAR包

    本文将深入探讨"poi excel JAR包"的相关知识点,帮助开发者理解如何利用Apache POI库来解析和操作Excel文件。 Apache POI 是一个Java API,它允许程序员创建、修改和显示MS Office格式的文件。它的名字来源于...

Global site tag (gtag.js) - Google Analytics