废话不多说 直接上代码
工具类
package com.hoperun.ccca.common.util;
import java.io.File;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
* @title ExcelManage.java
* @description
* @author zyy
*/
public class ExcelManage {
@SuppressWarnings("rawtypes")
public static void writeExcel(OutputStream os,List excelList)
{
try
{
/**
* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,
* 因为类WritableWorkbook的构造函数为protected类型
* method(1)直接从目标文件中读取WritableWorkbook wwb =
* Workbook.createWorkbook(new File(targetfile));
* method(2)如下实例所示 将WritableWorkbook直接写入到输出流
*
*/
WritableWorkbook wwb = Workbook.createWorkbook(os);
// 创建Excel工作表 指定名称和位置
for(int i=0;i
{
ExcelModel eModel=(ExcelModel)excelList.get(i);
WritableSheet ws = wwb.createSheet(eModel.getSheetName(),i);
List ls=eModel.getContentList();
if(ls!=null)
{
for(int z=0;z
{
HashMap map=(HashMap)ls.get(z);
for(int y=1;y<=map.size();y++)
{
String cellContent=map.get(y+"").toString();
ws.addCell(new Label(y-1,z, cellContent));
}
}
}
}
wwb.write();
wwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
@SuppressWarnings("rawtypes")
public static void writeExcel(File file,List excelList)
{
try
{
/**
* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,
* 因为类WritableWorkbook的构造函数为protected类型
* method(1)直接从目标文件中读取WritableWorkbook wwb =
* Workbook.createWorkbook(new File(targetfile));
* method(2)如下实例所示 将WritableWorkbook直接写入到输出流
*
*/
WritableWorkbook wwb = Workbook.createWorkbook(file);
// 创建Excel工作表 指定名称和位置
for(int i=0;i
{
ExcelModel eModel=(ExcelModel)excelList.get(i);
WritableSheet ws = wwb.createSheet(eModel.getSheetName(),i);
List ls=eModel.getContentList();
if(ls!=null)
{
for(int z=0;z
{
HashMap map=(HashMap)ls.get(z);
for(int y=1;y<=map.size();y++)//循环每一列的内容
{
String cellContent=map.get(y+"").toString();
ws.addCell(new Label(y-1,z, cellContent));
}
}
}
}
wwb.write();
wwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
@SuppressWarnings("rawtypes")
public static void writeTrial(File file,List excelList)
{
try
{
/**
* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,
* 因为类WritableWorkbook的构造函数为protected类型
* method(1)直接从目标文件中读取WritableWorkbook wwb =
* Workbook.createWorkbook(new File(targetfile));
* method(2)如下实例所示 将WritableWorkbook直接写入到输出流
*
*/
WritableWorkbook wwb = Workbook.createWorkbook(file);
// 创建Excel工作表 指定名称和位置
for(int i=0;i
{
ExcelModel eModel=(ExcelModel)excelList.get(i);
WritableSheet ws = wwb.createSheet(eModel.getSheetName(),i);
List ls=eModel.getContentList();
if(ls!=null)
{
for(int z=0;z
{
HashMap map=(HashMap)ls.get(z);
for(int y=1;y<=map.size();y++)//循环每一列的内容
{
String cellContent=map.get(y+"").toString() == null ? "":map.get(y+"").toString();
ws.addCell(new Label(y-1,z, cellContent));
}
}
//合并单元格
ws.mergeCells(0, 0, 0, 1);//设置第一列、第一行和 第一列、第二行合并
ws.mergeCells(1, 0, 1, 1);//设置第二列、第一行和 第二列、第二行合并
ws.mergeCells(2, 0, 2, 1);//设置第三列、第一行和 第三列、第二行合并
ws.mergeCells(3, 0, 4, 0);//设置第四列、第一行和 第五列、第二行合并
}
}
wwb.write();
wwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
public class ExcelModel {
private String sheetName; //工作表名称
private List contentList; //工作表
public List getContentList() {
return contentList;
}
public void setContentList(List contentList) {
this.contentList = contentList;
}
public String getSheetName() {
return sheetName;
}
public void setSheetName(String sheetName) {
this.sheetName = sheetName;
}
}