Java Excel导出
Posted honghong75042
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Excel导出相关的知识,希望对你有一定的参考价值。
package com.gome.budget.common.utils; import com.alibaba.excel.EasyExcelFactory; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.metadata.Sheet; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; public class ExcelExportUtil public static void main(String[] args) throws FileNotFoundException List<List<String>> header = createTestListStringHead(); List<List<Object>> dataLists = createTestListObject(); OutputStream os = new FileOutputStream("D:\\share\\expense.xlsx"); ExcelExportUtil exporter = new ExcelExportUtil(); exporter.initWriter(os); exporter.createSheet(1, 0, "损益表2", header) .writeDatas(dataLists); exporter.createSheet(2, 0, "费用表2", header) .writeDatas(dataLists); exporter.close(); public ExcelExportUtil() public static List<List<String>> createTestListStringHead() List<List<String>> header = new ArrayList<List<String>>(); List<String> headList = new ArrayList<String>(); headList.add("预算组织"); header.add(headList); headList = new ArrayList<String>(); headList.add("项目"); header.add(headList); headList = new ArrayList<String>(); headList.add("前2个考核期实际数"); header.add(headList); headList = new ArrayList<String>(); headList.add("前1个考核期发生月实际数"); header.add(headList); headList = new ArrayList<String>(); headList.add("前1个考核期未发生月预测数"); header.add(headList); headList = new ArrayList<String>(); headList.add("前1个考核期预测数"); header.add(headList); headList = new ArrayList<String>(); headList.add("当前考核期上报数"); header.add(headList); headList = new ArrayList<String>(); headList.add("同比"); header.add(headList); headList = new ArrayList<String>(); headList.add("环比"); header.add(headList); return header; public static List<List<Object>> createTestListObject() List<List<Object>> dataList = new ArrayList<List<Object>>(); List<Object> data = new ArrayList<Object>(); data.add("电器集团"); data.add("一、销售净额"); data.add("33977039584.3376"); data.add("21934607354.7551"); data.add("13185382748.9218"); data.add("35119990103.6769"); data.add("37225695903.0281"); data.add("6.00%"); data.add("9.56%"); dataList.add(data); data = new ArrayList<Object>(); data.add("电器集团"); data.add("减:销售折扣"); data.add("-1058035879.32"); data.add("2410985173.15"); data.add("59573049.4876506"); data.add("2470558222.63765"); data.add("181020526.822908"); data.add("-92.67%"); data.add("117.11%"); dataList.add(data); return dataList; private ExcelWriter writer; private List<Sheet> sheets = new ArrayList<Sheet>(); /** * 初始化writer * @param os */ public ExcelExportUtil initWriter(OutputStream os) writer = EasyExcelFactory.getWriter(os); return this; public ExcelExportUtil createSheet(int sheetNo, int headLineMun, String sheetName, List<List<String>> header) Sheet sheet1 = new Sheet(sheetNo, headLineMun); sheet1.setSheetName(sheetName); sheet1.setHead(header); sheet1.setAutoWidth(Boolean.TRUE); this.sheets.add(sheet1); return this; /** * 关闭资源 */ public void close() writer.finish(); public ExcelExportUtil writeDatas(List<List<Object>> dataLists) //写第一个sheet, sheet1 数据全是List<String> 无模型映射关系 for (Sheet sheet : sheets) writer.write1(dataLists, sheet); return this; public ExcelWriter getWriter() return writer; public void setWriter(ExcelWriter writer) this.writer = writer; public List<Sheet> getSheets() return sheets; public void setSheets(List<Sheet> sheets) this.sheets = sheets;
以上是关于Java Excel导出的主要内容,如果未能解决你的问题,请参考以下文章