java中export方法如何实现导出excel文件
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关java中export方法如何实现导出excel文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.export函数//导出文件接口p
千家信息网最后更新 2026年11月02日java中export方法如何实现导出excel文件
这篇文章将为大家详细讲解有关java中export方法如何实现导出excel文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1.export函数
//导出文件接口public String export(){return this.myExport(exportList);}2.导出列名
private String myExport(Listlist){com.bronzesoft.power.tools.json.JSONObject info = new com.bronzesoft.power.tools.json.JSONObject();try{List headList = new ArrayList (Arrays.asList("年", "月", "部门","部门负责人","经营值","收入", "支出","填报工时","标准工时","经营参数"));Commonutil.export(list,headList,"部门经营总览导出");info = Commonutil.setInfo(info,"部门经营总览导出");}catch (Exception e){LogUtil.error(this.getClass().getName()+".exportExcel()", e);}return info.toString();}
3.export实现方法
首先,理解一下一个Excel的文件的组织形式,一个Excel文件对应于一个workbook(XSSFWorkbook),一个workbook可以有多个sheet(XSSFSheet)组成,一个sheet是由多个row(XSSFRow)组成,一个row是由多个cell(XSSFCell)组成。

public staticboolean export(List list,List headList,String fileName){return myExport(list,headList,fileName,com.bronzesoft.rdm.platform.util.Constants.PATH + com.bronzesoft.power.platform.Constants.TEMPFOLDER_DIR );}//将list导出为excel,文件名为fileNamepublic static boolean myExport(List list,List headList,String fileName,String path){try{if(!checkListAndHead(list,headList)){LogUtil.info( "head的长度有问题,导出的文件不正确" );}File file = new File(path + File.separator + fileName + ".xlsx");if(!file.exists()) {file.createNewFile();}//创建对应excel文件,存储路径path待确定XSSFWorkbook workBook = new XSSFWorkbook();//创建一个excel的sheet页XSSFSheet sheet = workBook.createSheet(fileName);XSSFRow row = null;XSSFCell cell = null;Map styles = StyleUtil.createStyles(workBook);//表头样式CellStyle headCenterIndex = styles.get("headCenter");//列的样式居中,背景颜色为白色CellStyle center = styles.get("centerWhite");row = sheet.createRow(0);//表头数据for (int i = 0; i < headList.size(); i++) {//创建列cell = row.createCell(i);//设置列的valuecell.setCellValue(headList.get(i));//设置列的样式cell.setCellStyle(headCenterIndex);}//表格数据//写入表格数据String codeName = "";int rownum = 1;T obj = null;for(int i = 0; i < list.size(); i++){obj = list.get(i);if(null != obj){Field[] fields = obj.getClass().getDeclaredFields();row = sheet.createRow(rownum);for(int j = 0; j< fields.length; j++){fields[j].setAccessible(true);codeName = String.valueOf(fields[j].get(obj));//创建第j列cell = row.createCell(j);cell.setCellValue(Commonutil.getStringVal(codeName));cell.setCellStyle(center);}}rownum++;}// //i代表列,设置列的宽度// for (int i = 0; i < headList.size(); i++) {// if(i == 0){// sheet.setColumnWidth(i, 2000);// }else if(i == 1 || i == 3){// sheet.setColumnWidth(i, 6000);// }else{// sheet.setColumnWidth(i, 4000);// }// }//将文件写到临时目录FileOutputStream out = new FileOutputStream(file);workBook.write(out);}catch (Exception e){LogUtil.error(fileName + "export失败" );}return true;}//检查head的size是否符合规范public static boolean checkListAndHead(List list,List headList){if(list.size()>0){T t = list.get(0);if(getColumnCount(t) != headList.size()){LogUtil.info( "head的长度有问题" );return false;}}return true;}//获取一个对象成员变量的个数public static int getColumnCount(T t){Field[] fields = t.getClass().getDeclaredFields();int count = fields.length;return count;}
4.前端对接
public static JSONObject setInfo(JSONObject info,String fileName) throws Exception {Storage s = Commonutil.getDefaultStorage();info.put("port", String.valueOf(s.getPort()));info.put("dirAddress", Base64Util.encode(com.bronzesoft.rdm.platform.util.Constants.PATH));info.put("address", Base64Util.encode(com.bronzesoft.power.platform.Constants.TEMPFOLDER_DIR + File.separator + fileName + ".xlsx"));info.put("name", Base64Util.encode(fileName));info.put("extendName", "xlsx");return info;}5.前端代码
function doExport(){synAjax.tabCall("com.bronzesoft.rdm.SeDeptTotalTab", "export", null, function(data){doDownload(data);});}function doDownload(data){console.log('data',data)r = eval('('+data+')');$("#_file_dir").val(r.dirAddress);$("#_file_address").val(r.address);$("#_file_name").val(r.name);$("#_file_extname").val(r.extendName);if ($.browser.safari) { $("#_file_downform").attr("target", ""); }var servlet = powerPath + "download";$("#_file_downform").attr("action", servlet).submit();}关于"java中export方法如何实现导出excel文件"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
部门
经营
方法
多个
数据
样式
篇文章
前端
工时
是由
更多
表头
表格
长度
问题
不错
实用
个数
代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技
中国互联网科技工作委员会毛军
鸠鸠互联网科技
科技类互联网
互联网金融 科技金融
深圳互联网络科技有限公司
碳银互联网科技
互联网科技排名
凡科互联网科技
苏州互联网科技贷款公司
互联网科技ppt模板
四川狮子座互联网科技
互联网科技宣传片
宜昌元轩互联网科技有限公司
银川新华互联网科技学校联系电话
佛山市拉法互联网科技有限公司
互联网与数字科技关系
互联网界的黑科技
广西泛欧互联网科技有限公司
互联网的科技体现在哪里
互联网金融监管科技数据
互联网金融 金融科技
互联网科技革命
深圳艾佳互联网科技
人人互联网科技是培训
互联网公司黑科技创始人
互联网时代的科技公司
互联网科技企业商标注意事项
西安左小互联网科技有限公司
北京品多多互联网科技有限公司