java写excel的一个类

本文介绍了一个使用Java实现的Excel导出工具类,通过该工具类可以方便地将数据写入Excel文件中。该工具类支持设置单元格格式、添加标题及内容,并提供了完整的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  需引入jxl.jar这个包.


  


import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

public class ExcelUtils {
private WritableWorkbook rwb =null;
private WritableSheet ws = null;
private WritableCellFormat format1 = null;
private int currentRow=-1;
private Map<Integer, String> map = new HashMap<Integer,String>();
public ExcelUtils(String filePath)
{
try {
rwb = Workbook.createWorkbook(new File(filePath));
ws = rwb.createSheet("查询结果", 0);
format1=new WritableCellFormat();
format1.setAlignment(jxl.format.Alignment.CENTRE);
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void addCell(int C,int R,String str)
{
try{
ws.setRowView(0,300);
Label labelC = new Label(C,R,str,format1);
ws.addCell(labelC);
}catch(Exception e){
e.printStackTrace();
}
}
public void addTitle(List<?> titleList) throws Exception
{
if(titleList!=null && titleList.size()!=0)
{
currentRow++;
for (int i = 0; i < titleList.size(); i++) {
Object obj = titleList.get(i);
addCell(i,currentRow,String.valueOf(obj));
}
}
}


public void addOneColumn(int num,Object obj)
{
map.put(num-1, String.valueOf(obj));
}

public void addContext(List<?> contextList)
{
if(contextList!=null && contextList.size()!=0)
{
for (int i = 0; i < contextList.size(); i++) {
List<?> list = (List<?>)contextList.get(i);
if(list!=null&&list.size()!=0)
{
currentRow++;
Object obj[] = list.toArray();
for (int j = 0; j < obj.length; j++) {
addCell(j,currentRow,String.valueOf(obj[j]));
}
}
}
}
}
public void writeFile()
{
if(rwb!=null)
{
try {
rwb.write();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void closeFile()
{
if(rwb!=null)
{
try {
rwb.close();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

 

 

 

在其它地方调用

ExcelUtils excelUtil = new ExcelUtils(path);

excelUtil.addContext(contentList);
excelUtil.writeFile();
excelUtil.closeFile();

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值