使用 poi 生成 excel 文件
2009-12-09 17:23:43| 分类: 默认分类 | 标签: |字号大中小 订阅
poi 是 apache 基金下面的一个开源项目,在[url]http://www.apache.org/dyn/closer.cgi/jakarta/poi/[/url] 可
以下载到 poi 的包
下载以后把解压得到的文件加到 web-inf 下面的 lib 目录下面就可以使用了。
下面先介绍一下生成 excel 文件要用的类:
HSSFWorkbook 用于创建 excel 文件
HSSFSheet 用于创建 excel 的书册
HSSFRow 用于创建一行
HSSFCell 用于创建一个单元格
HSSFCellStyle 用于创建一个单元格的格式
HSSFFont 用于创建一个单元格的字体格式
下面用本人写的一个通用的工具类作为例子说明一下生成文件的方法
(这里只列出部分代码,详细的请看附件的源码,如果要使用附件的代码,请保留原创人的名字)
public String createFile(List<Hashtable> hlist)//根据传入的参数读取数据,这里用了范型指定参数是
hashtable 类型的 list
{
HSSFWorkbook wb = new HSSFWorkbook();//创建 excel 文件
for(int hcount=0;hcount<hlist.size();hcount++)
{
Hashtable ha = hlist.get(hcount);//获取第 hcount 个元素
HSSFSheet sheettemp = wb.createSheet();
wb.setSheetName(hcount,(String)ha.get("name"),(short)1);//新建一个 sheet
HSSFRow rowtitle = sheettemp.createRow((short)0);//添加表头
HSSFCell celltitle = rowtitle.createCell((short)0);
celltitle.setEncoding(HSSFCell.ENCODING_UTF_16);//设置字体编码
celltitle.setCellValue((String)ha.get("title"));//设置表头内容
rowtitle = sheettemp.createRow((short)1);//新增一行用于存放表头内容
String[] fields = (String[])ha.get("field");//获取列头
sheettemp.addMergedRegion(new Region(0,(short)0,0,(short)(fields.length-1)));//合并第一行
rowtitle = sheettemp.getRow(0);//获得第一行的引用
celltitle = rowtitle.getCell((short)0);//获得第一行第一个单元格的引用
setTitleStyle(wb,celltitle);//设置表头格式
HSSFRow rowfield = sheettemp.createRow((short)1);//新增一行用于存放列头内容
for(int i = 0;i<fields.length;i++)//根据获取到的列头数据,循环设置列头的内容
{
HSSFCell cellfield = rowfield.createCell((short)i);
cellfield.setEncoding(HSSFCell.ENCODING_UTF_16);
cellfield.setCellValue(fields[i]);
setFieldStyle(wb,cellfield);//设置列头格式
评论0
最新资源