1.请求中不带请求中带httpservletresponse response。
使用exceldata和exportexcelutils工具类结xssfworkbook合实现excel文件导出
exceldata data = new exceldata();
data.setname("页签名称");
// 标题
list<string> titles = new arraylist();
titles.add("第一列");
titles.add("第二列");
titles.add("第三列");
data.settitles(titles);
// 内容
list<list<object>> rows = new arraylist();
for(int i=0; i<10; i++){
list<object> row = new arraylist();
row.add(第+"i"+行第一列);
row.add(第+"i"+行第二列);
row.add(第+"i"+行第三列);
rows.add(row);
}
data.setrows(rows);
xssfworkbook wb = exportexcelutils.exportexcel(data);
bytearrayoutputstream outbytestream = new bytearrayoutputstream();
wb.write(outbytestream);
wb.close();
httpheaders headers = new httpheaders();
headers.add("content-type", "application/vnd.ms-excel");
headers.add("connection", "close");
headers.add("file", "type");
headers.add("content-disposition", "attachment; filename=" + new string(filename.getbytes("utf-8"), "iso-8859-1"));
return new responseentity<byte[]>(outbytestream.tobytearray(), headers, httpstatus.created);
2.请求中带httpservletresponse response。
使用xssfworkbook合实现excel文件导出
response.setcontenttype("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setcharacterencoding("utf-8");
response.setheader("file", "type");
response.setheader("connection", "close");
response.setheader("content-disposition", "attachment;filename=" + excelutil.toutf8string("文件名"));
string filepath = "/docs/file.xlsx";
inputstream inputstream = new classpathresource(filepath).getinputstream();
xssfworkbook xssfworkbook = new xssfworkbook(inputstream);
// sheet
xssfsheet sheetat = xssfworkbook.getsheetat(0);
sheetat.setcolumnwidth(0, 15000);
// 单元格格式
xssfcellstyle cellstyle = xssfworkbook.createcellstyle();
cellstyle.setalignment(horizontalalignment.center);
cellstyle.setverticalalignment(verticalalignment.center);
cellstyle.setbordertop(borderstyle.thin);
cellstyle.setborderright(borderstyle.thin);
cellstyle.setborderbottom(borderstyle.thin);
cellstyle.setborderleft(borderstyle.thin);
// 标题
writevalue(sheetat, cellstyle, 0, 0, "第一列");
writevalue(sheetat, cellstyle, 0, 0, "第二列");
writevalue(sheetat, cellstyle, 0, 0, "第三列");
// 内容
for(int i=1; i=10; i++){
writevalue(sheetat, cellstyle, i, 0, "第"+i+"行第一列");
writevalue(sheetat, cellstyle, i, 1, "第"+i+"行第二列");
writevalue(sheetat, cellstyle, i, 2, "第"+i+"行第三列");
}
xssfworkbook.write(response.getoutputstream());
if (null != xssfworkbook) {
xssfworkbook.close();
}
到此这篇关于java导出excel文件的方法的文章就介绍到这了,更多相关java导出excel文件内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论