web开发中,一个系统的普通需求也包含导出excel,一般採用POI做统计报表导出excel。

导出excel工具类:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.Map; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExportExcel { private ExportExcel() {
super();
} public static void exportExcel(List<Object> list, Map<Integer, Long> map,
String[] titles) throws IOException {
// 创建Excel文档
HSSFWorkbook hwb = new HSSFWorkbook();
// sheet 相应一个工作页
HSSFSheet sheet = hwb.createSheet("exportReport");
int colNum = titles.length;
// 创建第一行
HSSFRow firstrow = sheet.createRow(0);
HSSFCell[] firstcell = new HSSFCell[colNum];
for (int col = 0; col < colNum; col++) {
firstcell[col] = firstrow.createCell(col);
firstcell[col].setCellValue(new HSSFRichTextString(titles[col]));
} // 插入记录
int rowNum = map.size();
for (int i = 0; i < rowNum; i++) {
// 从第二行開始
HSSFRow row = sheet.createRow(i + 1);
// 插入list中的字段
for (int col = 0; col < colNum - 2; col++) {
HSSFCell cell = row.createCell(col);
cell.setCellValue(list.get(col).toString());
}
// 插入月份或日期
row.createCell(colNum - 2).setCellValue(i + 1);
// 插入总量
row.createCell(colNum - 1).setCellValue(map.get(i + 1));
}
String fileName = titles[1].substring(0, 2);
if (colNum == 4) {
fileName += list.get(0) + "_" + list.get(1) + "年_年度报表";
} else if (colNum == 5) {
fileName += list.get(0) + "_" + list.get(1) + "年" + list.get(2)
+ "月_月度报表";
}
// 创建文件输出流,准备输出电子表格
OutputStream out = new FileOutputStream("../webapps/UsedMallMinaServer/files/"
+ fileName + ".xls");
hwb.write(out);
out.close();
}
}

javaEE开发之导出excel工具类的更多相关文章

  1. 导入导出Excel工具类ExcelUtil

    前言 前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibe ...

  2. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  3. 使用POI导出EXCEL工具类并解决导出数据量大的问题

    POI导出工具类 工作中常常会遇到一些图表需要导出的功能,在这里自己写了一个工具类方便以后使用(使用POI实现). 项目依赖 <dependency> <groupId>org ...

  4. 导出Excel工具类

    import java.io.OutputStream; import java.lang.reflect.Method; import java.text.SimpleDateFormat; imp ...

  5. java导出excel工具类

    java导出excel须要使用HSSFWorkbook这个类,须要导入poi-3.6-20091214.jar 工具类调用例如以下: package com.qlwb.business.util; i ...

  6. Java XSSF 导出excel 工具类

    参数解释: title:导出excel标题.headers 导出到excel显示的列头. columns 对应数据库字段 .list 导出数据1.pox中添加依赖 <dependency> ...

  7. JXL导出Excel工具类

    将Excel中的数据读取到List<Map<String, Object>>集合中   package com.mvc.util;   import java.io.File; ...

  8. NPOI导入导出Excel工具类

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Ref ...

  9. 关于Excel导入导出POI工具类

    import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import ...

随机推荐

  1. ceph之Placement Group

    预定义PG_NUM 新建一个存储池命令:ceph osd pool set {pool-name}  pg_num 选择一个pg_num的值是强制性的,这是因为该值不能被自动计算出来,以下是一些常用值 ...

  2. PHP - 抓取电视剧资源

    <?php /** * 获取下载url * @return [type] [description] */ function getVedioDwonloadUrl() { for ($i=1; ...

  3. iOS 类别和扩展(Categories和Extensions)

    分类(Category)   分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法.   此外,分类能够保证你的实现类和其他的文件区分开.   1 #import “UI ...

  4. 数据库数据用Excel导出的3种方法

    将数据库数据用Excel导出主要有3种方法:用Excel.Application接口.用OleDB.用HTML的Tabel标签 方法1——Excel.Application接口: 首先,需要要Exce ...

  5. [Swust OJ 715]--字典序问题(组合数预处理/数位dp)

    题目链接:http://acm.swust.edu.cn/problem/715/ Time limit(ms): 1000 Memory limit(kb): 65535   在数据加密和数据压缩中 ...

  6. BZOJ 1455: 罗马游戏( 配对堆 + 并查集 )

    可并堆水题 --------------------------------------------------------- #include<bits/stdc++.h>   usin ...

  7. 如何借助Motion操控Linux监控摄像头

    介绍 本文介绍如何使用motion来操控Linux下的摄像头. 安装 apt-get install motion 配置文件 输入命令后面的命令编辑配置文件, vim /etc/motion/moti ...

  8. 高质量程序设计指南C/C++语言——C++/C程序设计入门

    1.在C++/C中,全局变量(extern或static)存放在程序的静态数据区中,在程序进入main()之前创建,在main()结束之后销毁,因此在我们的代码中根本没有机会初始化它们,于是语言及其实 ...

  9. Python 2.7 学习笔记 基本语法和函数定义

    本文介绍下python的基本语法 一.变量定义 不需要说明类型,也不需要像js等脚本语言使用var等标识符.直接声明即可,如: num=1 说明:上面语句声明了一个变量num,并在声明时初始化值为 1 ...

  10. 基于visual Studio2013解决算法导论之046广度优先搜索

     题目 广度优先搜索 解决代码及点评 // 图的邻接表表示.cpp : 定义控制台应用程序的入口点. // #include <iostream> #include <stac ...