`
小杨学JAVA
  • 浏览: 904013 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

POI导出excel 实例

 
阅读更多

 编译好的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();
        }
 

    } 

}
转自:http://www.blogjava.net/zJun/archive/2007/01/22/95385.html
分享到:
评论

相关推荐

    POI导出EXCEL实例

    导出 EXCEL 的一种方式,里面有方法的功能说明

    Apache poi 导出excel实例

    这篇博客文章“Apache POI 导出excel实例”将深入探讨如何使用Apache POI库来生成Excel文件,这对于在Java环境中处理大量数据并需要导出为Excel格式的应用非常有用。 首先,我们需要导入Apache POI库到我们的项目中...

    poi 导出excel实例 下载

    poi 导出excel实例 下载 按照步骤去做 简单实例 技术牛人可忽略

    poi导出Excel实例

    解释:该方法相当于新建了一个excel文件,HSSFWorkbook : excel的文档对象。 2.//创建第一个sheet(页),命名为 page1 Sheet sheet = wb.createSheet("page1"); 解释:该方法相当于在excel文件里新建了一个工作页...

    POI导出Excel文件

    以下是一个简化的示例,演示了如何使用POI导出Excel: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io....

    JAVA POI导出EXCEL代码

    本篇文章将详细介绍如何使用JAVA POI导出Excel。 一、准备工作 在开始编写代码前,确保已经添加了Apache POI库到项目的依赖管理中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...

    POI导出Excel表格

    在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...

    poi导出excel表格

    本教程将详细讲解如何使用Apache POI在Web环境中导出Excel表格,避免生成不必要的临时文件,从而优化系统资源管理。 一、Apache POI简介 Apache POI 是一个开源项目,它提供了Java API来处理Microsoft的Office格式...

    poi导出excel文档

    在本文中,我们将深入探讨如何使用POI库来导出Excel文档,以及涉及到的关键知识点。 一、POI简介 Apache POI 是一个开源项目,由Apache软件基金会维护。它的主要目标是提供一套API,使Java程序员能够方便地处理...

    Java POI 导出Excel 2007 实例源代码

    Java POI 是一个开源库...以上就是使用Java POI导出Excel 2007的实例源代码所涉及的主要知识点。通过这些步骤,开发者可以轻松地在Java程序中生成符合需求的Excel文件。在实际项目中,可以根据具体需求进行扩展和优化。

    java POI导出excel

    这个是利用POI导出excel的源码,需要导入poi包,然后把jsp和action的代码拷贝进去就可以直接运行,很基础的代码,很适合初学者学习。 POI可以自己定义导出excel格式的数据,实例就是这样弄的,希望对初学者有帮助。

    java poi导出Excel上传实例 可直接使用

    通过上述步骤,你就创建了一个基本的Java程序,能够使用Apache POI导出Excel文件。在项目中,你可以根据实际需求对这个示例进行扩展,比如从数据库读取数据、动态生成列名或自定义样式。这个"poi2"文件可能是包含此...

    Java POI 导入导出Excel简单实例源代码

    Java POI 导入导出Excel简单实例源...Java POI导出EXCEL经典实现 Java导出Excel弹出下载框 http://blog.csdn.net/evangel_z/article/details/7332535 web页面导出Excel文档,路径:http://localhost:8080/poi/export

    easy-poi导入导出excel实例

    例如,我们可以创建一个方法用于导出Excel: ```java import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import ...

    C# 导出excel 实例代码

    在C#编程环境中,导出Excel是一项常见的任务,特别是在数据处理和报告生成方面。下面将详细探讨如何使用C#来实现Excel的导出,并提供相关的实例代码。 首先,要理解C#导出Excel的基本原理。通常,我们可以使用两种...

    poi导出excel2007

    ### 使用Apache POI导出Excel 2007并避免内存溢出问题 #### 背景介绍 在处理大量数据时,使用Java导出Excel文件可能会遇到内存溢出的问题,尤其是在导出Excel 2007(.xlsx格式)时更为常见。这是因为传统的`...

    POI导出操作Excel

    在这个例子中,我们看到如何使用POI库来将数据从数据库导出到Excel文件中。以下是关于这个话题的详细知识点: 1. **Apache POI**: Apache POI 是一个开源项目,它允许开发人员使用Java读取、写入和修改Microsoft ...

    poi多sheet页导出工具类和实例 包含多个excel导出

    总之,这个 poi 多 sheet 导出工具类和实例是处理大量数据导出的有效方法,结合合理的数据分组、公共数据获取类以及优化策略,可以高效地生成多个 sheet 或多个 Excel 文件,满足大规模数据的导出需求。

Global site tag (gtag.js) - Google Analytics