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. Find Successor & Predecessor in BST

    First, we use recursive way. Successor public class Solution { public TreeNode inorderSuccessor(Tree ...

  2. Hdu1384-Intervals(差分约束)

    Problem Description You are given n closed, integer intervals [ai, bi] and n integers c1, ..., cn.Wr ...

  3. linux mysql密码破解一张图解释

  4. Uboot与Linux之间的参数传递

    U-boot会给Linux Kernel传递很多参数,如:串口,RAM,videofb等.而Linux kernel也会读取和处理这些参数.两者之间通过struct tag来传递参数. U-boot把 ...

  5. Linux 通过HTTP进行域名更新

    一.3322动态域名更新接口 接口地址 API URL http://members.3322.net/dyndns/update HTTP请求 GET /dyndns/update?hostname ...

  6. <% %> 、 <%= %> 、<%# %> 的区别

    1,<% %>用来绑定后台代码    中间一般放函数或者方法,典型的asp程序写法. 在前台页面可以写后台代码                 相当于开辟了C#空间,可以写C#代码 2,& ...

  7. Unity四种路径总结

    四种路径的权限:                                            Application.dataPath 包含游戏数据文件夹的路径(只读) Applicatio ...

  8. [CSS] CSS Transitions: Delays and Multiple Properties

    <!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery- ...

  9. 利用boost获取时间并格式化

    利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题. 1. 输出YYYYMMDD #include <boost/date_time/gregorian/gregorian.hpp& ...

  10. 数组,集合 转成DataTable 方法

    public static DataTable ToDataTable(IList p_List) { DataTable _DataTable = new DataTable(); if (p_Li ...