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. 优化C#程序的48种方法

    一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处: 2.在属性的get和set访问器重可使用lock添加多线程的支持. 二.readonly(运行时常量) ...

  2. DB2 中日期 比较

    在DB2中的Date 一共识别三种格式,最常见的是这样 '2013-12-12' 对,你没看错,DB2认为这样的字符串就是Date数据 然后我们可以利用函数这样寻找日期区间 select * from ...

  3. Best Meeting Point 解答

    Question A group of two or more people wants to meet and minimize the total travel distance. You are ...

  4. Python多线程(threading模块)

    线程(thread)是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. ...

  5. iOS面试知识点

    1 iOS基础 1.1 父类实现深拷贝时,子类如何实现深度拷贝.父类没有实现深拷贝时,子类如何实现深度拷贝. 深拷贝同浅拷贝的区别:浅拷贝是指针拷贝,对一个对象进行浅拷贝,相当于对指向对象的指针进行复 ...

  6. 修改UISearchBar输入框字体颜色

    UITextField *searchField = [mySearchBar valueForKey:@"_searchField"]; searchField.textColo ...

  7. [Git] set-upstream

    When you want to push your local branch to remote branch, for the first push: git push --set-upstrea ...

  8. 对于Android Service 生命周期进行全解析

    应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激 活状态:对于活动,对用户有时候可见,有时候不可见.组件生命周 ...

  9. VS2008找不到MFC90d.dll错误解决方法

    问题是在更新嵌入的清单文件时发生的,由于FAT32的原因而未能更新嵌入的清单文件,于是我们有如下两种解决方法: (1)不启用增量链接.在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“ ...

  10. java第二周学习日记

    day01 1.抽象类 (1)抽象类的应用场景: 我们在描述一类事物的时候,发现该种事物确实存在着某种行为,但是这种行为目前不是具体的,那么我们可以抽取这种行为的声明,但是不去实现该种行为,这时候这种 ...