easypoi模板导出.docx
- 文档编号:274794
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:8
- 大小:18.98KB
easypoi模板导出.docx
《easypoi模板导出.docx》由会员分享,可在线阅读,更多相关《easypoi模板导出.docx(8页珍藏版)》请在冰豆网上搜索。
easypoi模板导出
竭诚为您提供优质文档/双击可除
easypoi,模板导出
篇一:
poiexcel导出样式设计
hssFcell设置样式
1、遍历workbook
//load源文件
poiFsFilesystemfs=newpoiFsFilesystem(newFileinputstream(filepath));hssFworkbookwb=newhssFworkbook(fs);
for(inti=0;i hssFsheetsheet=wb.getsheetat(i);
for(intj=sheet.getFirstRownum();jeasypoi,模板导出){hssFRowrow=sheet.getRow(j);
if(row!
=null){
//。
。
。
操作}
}
}
}
//目标文件
Fileoutputstreamfos=newFileoutputstream(objectpath);
//写文件
wb.write(fos);
fos.close();
2、得到列和单元格
hssFRowrow=sheet.getRow(i);
hssFcellcell=row.getcell((short)j);
3、设置sheet名称和单元格内容为中文
wb.setsheetname(n,"中文",hssFcell.encoding_utF_16);
cell.setencoding((short)1);
cell.setcellValue("中文");
4、单元格内容未公式或数值,可以这样读写
cell.setcelltype(hssFcell.cell_type_numeRic);
cell.getnumericcellValue();
5、设置列宽、行高
sheet.setcolumnwidth((short)column,(short)width);
row.setheight((short)height);
6、添加区域,合并单元格
Regionregion=
Region((short)rowFrom,(short)columnFrom,(short)rowto,(short)columnto);
sheet.addmergedRegion(region);
//得到所有区域
sheet.getnummergedRegions();
7、常用方法
根据单元格不同属性返回字符串数值
publicstringgetcellstringValue(hssFcellcell){
stringcellValue="";
switch(cell.getcelltype()){
casehssFcell.cell_type_stRing:
cellValue=cell.getstringcellValue();
if(cellValue.trim().equals("")||cellValue.trim().length() cellValue="";
break;
casehssFcell.cell_type_numeRic:
cellValue=string.valueof(cell.getnumericcellValue());
break;
casehssFcell.cell_type_FoRmula:
cell.setcelltype(hssFcell.cell_type_numeRic);
cellValue=string.valueof(cell.getnumericcellValue());
break;
casehssFcell.cell_type_blank:
cellValue="";
break;
casehssFcell.cell_type_boolean:
break;
casehssFcell.cell_type_eRRoR:
break;
default:
break;
}
returncellValue;
}
8、常用单元格边框格式
虚线hssFcellstyle.boRdeR_dotted
实线hssFcellstyle.boRdeR_thin
publicstatichssFcellstylegetcellstyle(shorttype){new
hssFworkbookwb=newhssFworkbook();
hssFcellstylestyle=wb.createcellstyle();
style.setborderbottom(type);//下边框
style.setborderleft(type);//左边框
style.setborderRight(type);//右边框
style.setbordertop(type);//上边框
returnstyle;
}
设置字体和内容位置
hssFFontf=wb.createFont();
f.setFontheightinpoints((short)11);//字号
f.setboldweight(hssFFont.boldweight_noRmal);//加粗
style.setFont(f);
style.setalignment(hssFcellstyle.align_centeR);//左右居中
style.setVerticalalignment(hssFcellstyle.VeRtical_centeR);//上下居中
style.setRotation(shortrotation);//单元格内容的旋转的角度
hssFdataFormatdf=wb.createdataFormat();
style1.setdataFormat(df.getFormat("0.00%"));//设置单元格数据格式
cell.setcellFormula(string);//给单元格设公式
style.setRotation(shortrotation);//单元格内容的旋转的角度
cell.setcellstyle(style);
10、插入图片
//先把读进来的图片放到一个bytearrayoutputstream中,以便产生bytearraybytearrayoutputstreambytearrayout=newbytearrayoutputstream();
bufferedimagebufferimg=imageio.read(newFile("ok.jpg"));
imageio.write(bufferimg,"jpg",bytearrayout);
//读进一个excel模版
Fileinputstreamfos=newFileinputstream(filepathname+"/stencil.xlt");
fs=newpoiFsFilesystem(fos);
//创建一个工作薄
hssFworkbookwb=newhssFworkbook(fs);
hssFsheetsheet=wb.getsheetat(0);
hssFpatriarchpatriarch=sheet.createdrawingpatriarch();
hssFclientanchoranchor=newhssFclientanchor(0,0,1023,255,(short)0,0,(short)10,10);patriarch.createpicture(anchor,wb.addpicture(bytearrayout.tobytearray(),hssFworkbook.pictuRe_type_jpeg));
java操作excel(hssF样式一)
importjava.io.ioexception;
importjava.io.printwriter;
importjava.util.arraylist;
importjava.util.hashmap;
importjava.util.iterator;
importjava.util.list;
importjavax.servlet.servletexception;
importjavax.servlet.servletoutputstream;
importjavax.servlet.http.httpservlet;
importjavax.servlet.http.httpservletRequest;
importjavax.servlet.http.httpservletResponse;
importorg.apache.poi.hssf.usermodel.hssFcell;
importorg.apache.poi.hssf.usermodel.hssFcellstyle;
importorg.apache.poi.hssf.util.hssFcolor;
importorg.apache.poi.hssf.util.Region;
importorg.apache.poi.hssf.usermodel.hssFFont;
importorg.apache.poi.hssf.usermodel.hssFRow;
importorg.apache.poi.hssf.usermodel.hssFsheet;
importorg.apache.poi.hssf.usermodel.hssFworkbook;
hssFcellstyle类代表一种单元格样式。
可以通过这些类来设置单元格的边框样式、背景颜色、字体、水平和垂直方式的对齐。
如:
hssFworkbookworkbook=newhssFworkbook();//建立一个工作薄
hssFcellstyletitlestyle=workbook.createcellstyle();//在工作薄的基础上建立一个样式
titlestyle.setborderbottom(hssFcellstyle.boRdeR_double);//设置边框样式
titlestyle.setborderleft((short)1);//左边框
titlestyle.setborderRight((short)1);//右边框
titlestyle.setbordertop(hssFcellstyle.boRdeR_double);//顶边框
titlestyle.setFillForegroundcolor(hssFcolor.light_oRange.index);//填充的背景颜色
titlestyle.setFillpattern(hssFcellstyle.solid_FoRegRound);//填充图案
假设什么定义了一个样式,想在填充第一个单元格的时候填充红,第二格单元格填充蓝色。
如果:
hssFcellstylecellstyle=workbook.createcellstyle();//创建一个样式cellstyle.setFillForegroundcolor(hssFcolor.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- easypoi 模板 导出