easypoi list中的map导出_ExportExcel(用poi导出Excel文件:用List<Map<String,Object>>)

package com.zhiyou100.kfs.util;

import java.io.IOException;

import java.io.OutputStream;

import java.io.UnsupportedEncodingException;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**

* 用poi导出Excel文件的工具类

*

* @author KFS

*

*/

public class ExportExcel {

/**

*   用poi导出Excel文件的静态方法

* @param list                    数据:只能是List>类型

* @param sheetname        Excel的sheet名字

* @param filepath             保存文件的地址

* @throws IOException

*/

public void exportExcel(List> list,String sheetname,String fileName,HttpServletResponse

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Apache POI来实现将List<Map>集合导出Excel文件。 步骤如下: 1. 创建Excel工作簿和工作表。 ```java Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); ``` 2. 创建表头,并设置列宽。 ```java Row headerRow = sheet.createRow(0); CellStyle headerStyle = workbook.createCellStyle(); headerStyle.setAlignment(HorizontalAlignment.CENTER); headerStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); Font headerFont = workbook.createFont(); headerFont.setBold(true); headerStyle.setFont(headerFont); int colNum = 0; for (String key : dataList.get(0).keySet()) { Cell cell = headerRow.createCell(colNum++); cell.setCellValue(key); cell.setCellStyle(headerStyle); sheet.setColumnWidth(colNum, (key.length() + 4) * 256); } ``` 3. 填充数据。 ```java int rowNum = 1; for (Map<String, Object> map : dataList) { Row row = sheet.createRow(rowNum++); int colNum = 0; for (String key : map.keySet()) { Cell cell = row.createCell(colNum++); cell.setCellValue(String.valueOf(map.get(key))); } } ``` 4. 将工作簿写入输出流。 ```java workbook.write(outputStream); workbook.close(); ``` 完整代码示例: ```java public void exportExcel(List<Map<String, Object>> dataList, OutputStream outputStream) throws IOException { Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); Row headerRow = sheet.createRow(0); CellStyle headerStyle = workbook.createCellStyle(); headerStyle.setAlignment(HorizontalAlignment.CENTER); headerStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); Font headerFont = workbook.createFont(); headerFont.setBold(true); headerStyle.setFont(headerFont); int colNum = 0; for (String key : dataList.get(0).keySet()) { Cell cell = headerRow.createCell(colNum++); cell.setCellValue(key); cell.setCellStyle(headerStyle); sheet.setColumnWidth(colNum, (key.length() + 4) * 256); } int rowNum = 1; for (Map<String, Object> map : dataList) { Row row = sheet.createRow(rowNum++); int colNum = 0; for (String key : map.keySet()) { Cell cell = row.createCell(colNum++); cell.setCellValue(String.valueOf(map.get(key))); } } workbook.write(outputStream); workbook.close(); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值