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++中初始化和定义对象的语法,带括号与不带括号的区别

    小记:运行环境:win xp  vs2008 #include <iostream>#include <string> using std::cout;using std::c ...

  2. IOS基于新浪微博开放平台微博APP

    1.基于新浪微博开放平台APP源码 2.gitHub源代码下载地址 https://github.com/whzhaochao/SinaWeiBoOpen 3.用到的第三放开源库 3.1  RTLab ...

  3. QtXlsxWriter

    Code Issues26 Pull requests2   Pulse Graphs HTTPS clone URL You can clone with HTTPS orSubversion. C ...

  4. 国内外移动端web适配屏幕方案

    基础知识点 设备像素:设备像素又称物理像素(physical pixel),设备能控制显示的最小单位,我们可以把这些像素看作成显示器上一个个的点. iPhone5的物理像素是640X1136. PS: ...

  5. jquery插件autocomplete

    项目中有时会用到自动补全查询,就像Google搜索框.淘宝商品搜索功能,输入汉字或字母,则以该汉字或字母开头的相关条目会显示出来供用户选择, autocomplete插件就是完成这样的功能. < ...

  6. TreeView中右击直接获取节点的方法

    在TreeView中无法直接右击得到一个节点,因为当你选中其中一个右击时(不能是第一个)他会默认跳到第一个. 有时我们要想直接右击得到选中的节点,又时我们又想选中直接右击跳出一个快捷菜单怎么办了! 在 ...

  7. SQL server sysobjects表说明

    sysobjects 表 在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中占一行.只有在 tempdb 内,每个临时对象才在该表中占一行. sysobjects 表结构: 列名 ...

  8. CSS3动画之百度钱包

    百度钱包的步骤:1.建一个盒子,里面放两个盒子,代表正反面,两个盒子叠一起,正面层次高2.当鼠标Hover时,正面盒子从0deg->-180deg,反面盒子从-180deg->0deg3. ...

  9. css pre如果同时运用了css的border-radius、 overflow两个属性且标签中内容太多时,外部div滚动条在firefox下滚动时很卡

    pre如果同时运用了css的border-radius. overflow两个属性且标签中内容太多时,外部div滚动条在firefox下滚动时很卡. 解决方法:去掉css中border-radius. ...

  10. node.js 环境搭建

    一 官网下载安装包 : 1.http://www.nodejs.org/download/ 选择相应的包进行安装 2.安装express : npm install -g express -gener ...