JavaExcel导出,java将数据导出excel

  JavaExcel导出,java将数据导出excel

  出口函数2.导出列名3 .出口实现方法4.前端对接5.前端代码

  

目录

//导出文件接口公共字符串导出(){返回此。我的出口(出口清单);}

 

  

1.export函数

私有字符串我的导出(ListBusinessDept列表){ com。青铜软。权力。工具。JSON。JSON对象信息=新的com。青铜软。权力。工具。JSON。JSON对象();try { ListString headList=new ArrayList string(arrays。aslist(年, 月, 部门,部门负责人,经营值,收入, 支出,填报工时,标准工时,经营参数));Commonutil.export(list,headList,部门经营总览导出);info=Commonutil.setInfo(info,部门经营总览导出);} catch(异常e){ log util。错误(这个。getclass().getName() .exportExcel(),e);}返回信息。tostring();}

 

  

2.导出列名

首先,理解一下一个超过的文件的组织形式,一个超过文件对应于一个工作簿(XSSFWorkbook),一个练习本可以有多个工作表(XSSFSheet)组成,一个表是由多个行(XSSFRow)组成,一个排是由多个单元格(XSSFCell)组成。

 

  public static T boolean export(ListT list,ListString headList,String fileName){ return my export(list,headList,fileName,com。青铜软。RDM。站台。util。常数。路径com。青铜软。权力。站台。常数。临时文件夹_目录);}//将目录导出为excel,文件名为fileName public static T boolean my export(list list,ListString headList,String fileName,String path){try{if(!checkListAndHead(list,headList)){LogUtil.info(head的长度有问题,导出的文件不正确 );}文件file=新文件(路径文件.分隔符文件名 .xlsx’);如果(!文件。exists()){ file。创建新文件();}//创建对应超过文件,存储路径小路待确定xssf workBook workBook=new xssf workBook();//创建一个超过的表页xssf工作表工作表=工作簿。创建工作表(文件名);XSSFRow row=nullXSSFCell单元格=nullMapString,单元格样式styles=style util。创建样式(工作簿);//表头样式单元格样式headCenter index=样式。get(头中心);//列的样式居中,背景颜色为白色单元格样式中心=样式。get(居中白色);行=工作表。创建行(0);//表头数据for(int I=0;我是主角。size();i ) {//创建列单元格=行。创建单元格(I);//设置列的值单元格。setcellvalue(headlist。get(I));//设置列的样式细胞。setcellstyle(headcenter索引);}//表格数据//写入表格数据字符串代码名="";int rownum=1;t obj=null for(int I=0;我列出。size();I){ obj=list。get(I);if(null!{ Field[]fields=obj。获取类().getDeclaredFields();行=工作表。创建行(rownum);for(int j=0;英语字母表中第十个字母字段.长度;{fields[j].设置可访问性(true);codeName=字符串。(字段[j]的值。get(obj));//创建第英语字母表中第十个字母列单元格=行。创建单元格(j);细胞。setcellvalue(公共实用程序。getstringval(codeName));细胞。setcellstyle(居中);} } rownum}////i代表列,设置列的宽度//for(int I=0;我是主角。size();I){//if(I==0){//sheet。设置列宽(I,2000);//} else if(I==1 I==3){//sheet。设置列宽(I,6000);//} else {//工作表。设置列宽(I,4000);//}//}//将文件写到临时目录文件输出流out=新文件输出流(file);工作簿。写(出);}catch(异常e){LogUtil.error(文件名导出失败 );}返回true}//检查头的大小是否符合规范public static T boolean checkListAndHead(ListT list,ListString headList){ if(list。size()0){ T T=list。get(0);if(getColumnCount(t)!=头牌。size()){ log util。信息(标题的长度有问题 );返回false} }返回true}//获取一个对象成员变量的个数public static T int getColumnCount(T T){ Field[]fields=T . getclass().getDeclaredFields();int计数=fields.length返回计数;}

  

3.export实现方法

公共静态JSON对象setInfo(JSON对象信息,字符串文件名)抛出异常{ Storage s=common util。getdefaultstorage();info.put(port ,字符串。(s . get port())的值;info.put(dirAddress ,base 64 util。编码(com。青铜软。RDM。站台。util。常数。路径));info.put(address ,base 64 util。编码(com。青铜软。权力。站台。常数。临时文件夹目录文件。分隔符文件名’).xlsx’));info.put(name ,base 64 util。encode(文件名));info.put(extendName , xlsx );返回信息;}

 

  

4.前端对接

函数do Export(){ synajax。选项卡调用( com。青铜软。RDM。sedeptotaltab , export ,null,function(data){ doDownload(data);});}函数下载(数据){控制台。log( data ,data)r=eval(( data );$(#_file_dir ).val(r . diraddress);$( # _文件地址)。瓦尔(注册地址);$( # _文件名)。val(r . name);$(#_file_extname ).val(r . extend name);如果($。浏览器。safari){ $( # _ file _ down form ).attr(target , );}var servlet=powerPath "下载";$(#_file_downform ).attr(action ,servlet).submit();}到此这篇关于爪哇岛中的出口方法实现导出超过文件的文章就介绍到这了,更多相关爪哇岛导出超过文件内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: