import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

注:此方法创建的为excel 2007版本

private static void CreateExcel(List<EslExcel> eslExcel, String filePath) throws Exception
    {
        // 创建Excel文档
        HSSFWorkbook hwb = new HSSFWorkbook();

//自己创建的excel数据列的实体类
        EslExcel xlsDto = null;
        // sheet 对应一个工作页
        HSSFSheet firstSheet = hwb.createSheet("firstSheet");

HSSFRow firstrow = firstSheet.createRow(0); // 下标为0的行开始
        HSSFCell[] firstcell = new HSSFCell[10];

String[] columns =  { "col1", "col2", "col3", "col4"};
        for (int i = 0; i < columns.length; i++)
        {
            firstcell[i] = firstrow.createCell(i);
            firstcell[i].setCellValue(columns[i]);
        }

HSSFSheet secondSheet= hwb.createSheet("secondSheet");
        firstrow = secondSheet.createRow(0); // 下标为0的行开始
        firstcell = new HSSFCell[3];

columns = new String[]{ "col1", "col2", "col3" };
        for (int i = 0; i < columns.length; i++)
        {
            firstcell[i] = firstrow.createCell(i);
            firstcell[i].setCellValue(columns[i]);
        }

for (int i = 0; i < eslExcel.size(); i++)
        {
            // 创建一行
            // HSSFRow row_firstSheet = firstSheet.createRow(i + 1);
            HSSFRow row_firstSheet = firstSheet.createRow((short) (firstSheet.getLastRowNum() + 1));
           
            HSSFRow row_secondSheet = secondSheet.createRow((short) (secondSheet.getLastRowNum() + 1));
            // 得到要插入的每一条记录
            xlsDto = eslExcel.get(i);
            // for (int colu = 0; colu <= 3; colu++) {
            // 在一行内创建各列并赋值
            HSSFCell col1 = row_firstSheet.createCell(0);
            col1.setCellValue(xlsDto.getNo());

col1 = row_secondSheet.createCell(0);
            col1.setCellValue(xlsDto.getCol1());

HSSFCell col2 = row_firstSheet.createCell(1);
            col2.setCellValue(xlsDto.getCol2());

col2 = row_secondSheet.createCell(1);
            col2.setCellValue(xlsDto.getCol2());

HSSFCell col3= row_firstSheet.createCell(2);
            col3.setCellValue(xlsDto.getCol3());

col3 = row_secondSheet.createCell(2);
            col3.setCellValue(xlsDto.getCol3());

HSSFCell col4= row_firstSheet.createCell(3);
            col4.setCellValue(xlsDto.getCol4());           
        }

// 创建文件输出流,准备输出电子表格
        OutputStream out = new FileOutputStream(filePath);
        hwb.write(out);
        out.close();
    }

java使用poi创建excel文件的更多相关文章

  1. Java Struts2 POI创建Excel文件并实现文件下载

    Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...

  2. Java通过poi创建Excel文件并分页追加数据

    以下的main函数,先生成一个excel文件,并设置sheet的名称,设置excel头:而后,以分页的方式,向文件中追加数据 maven依赖 <dependency> <groupI ...

  3. java通过poi编写excel文件

    public String writeExcel(List<MedicalWhiteList> MedicalWhiteList) { if(MedicalWhiteList == nul ...

  4. java使用POI实现excel文件的读取,兼容后缀名xls和xlsx

    需要用的jar包如下: 如果是maven管理的项目,添加依赖如下: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --&g ...

  5. JAVA使用POI读取EXCEL文件的简单model

    一.JAVA使用POI读取EXCEL文件的简单model 1.所需要的jar commons-codec-1.10.jarcommons-logging-1.2.jarjunit-4.12.jarlo ...

  6. java使用POI操作excel文件,实现批量导出,和导入

    一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...

  7. Java使用POI操作Excel文件

    1.简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式文件读和写的功能. 2.依赖的jar包 <!-- ex ...

  8. Java实现POI读取Excel文件,兼容后缀名xls和xlsx

    1.引入所需的jar包: maven管理项目的话直接添加以下坐标即可: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -- ...

  9. java利用poi生成excel文件后下载本地

    1.该功能需要poi的jar包,链接: http://pan.baidu.com/s/1migAtNq 密码: 38fx. 2.首先新建一个实体类,用以存放单个数据 public class Test ...

随机推荐

  1. Mysql update 错误

    今天在工作的时候发现自己update 一个表的某个字段超时,想了好久,首先想到的办法是,延长操作时间: mysql> set innodb_lock_wait_timeout=100 mysql ...

  2. PHP 字符串替换 substr_replace 与 str_replace 函数

    PHP 字符串替换 用于从字符串中替换指定字符串. 相关函数如下: substr_replace():把字符串的一部分替换为另一个字符串 str_replace():使用一个字符串替换字符串中的另一些 ...

  3. 《Java程序员面试笔试宝典》终于在万众期待中出版啦~

    <Java程序员面试笔试宝典>终于在万众期待中出版啦~它是知名畅销书<程序员面试笔试宝典>的姊妹篇,而定价只要48元哦,恰逢求职季节,希望本书的出版能够让更多的求职者能够走进理 ...

  4. Linux网络编程--多播

    一.多播介绍 什么是多播? 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信.单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信.实际情 ...

  5. AOP的实现原理——动态代理

    IOC负责将对象动态的 注入到容器,从而达到一种需要谁就注入谁,什么时候需要就什么时候注入的效果,可谓是招之则来,挥之则去.想想都觉得爽,如果现实生活中也有这本事那就爽 歪歪了,至于有多爽,各位自己脑 ...

  6. java匿名内部类,多态,接口练习

    1多态以及接口调用方法: public class Interface { public static void main(String[] args) { Al x = new Al(); jian ...

  7. markdown 书写代码

    近期基于github + hexo 搭建了自己的博客.開始用markdown写博客,推荐 mac 平台用 mou 这个软件或者 vim. 介绍下markdown语法插入代码的规则: 有一种方法是全部代 ...

  8. css3 在线编辑工具 连兼容都写好了

    http://www.css3maker.com/index.html

  9. javascript操作json总结

    原文:http://www.cnblogs.com/worfdream/articles/1956449.html JSON(JavaScript Object Notation) 是一种轻量级的数据 ...

  10. 【转载】ADO.NET与ROM的比较(1):ADO.NET实现CRUD

    [转载]ADO.NET与ROM的比较(1):ADO.NET实现CRUD  转自周公 说明:个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hiberna ...