java使用esaypoi的excel导出工具类
时间: 2023-09-14 10:09:27 浏览: 48
好的,以下是一个简单的 Java 工具类,可以使用 EasyPoi 库将数据导出为 Excel 文件:
```java
import java.io.IOException;
import java.net.URLEncoder;
import java.util.List;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import org.apache.poi.ss.usermodel.Workbook;
public class ExcelUtils {
public static void exportToExcel(List<?> data, String sheetName, String fileName, HttpServletResponse response) throws IOException {
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
ExportParams exportParams = new ExportParams(sheetName, sheetName);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, data.get(0).getClass(), data);
ServletOutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
}
}
```
使用方法:
```java
List<User> userList = new ArrayList<>();
userList.add(new User("John", 25, 5000.0));
userList.add(new User("Jane", 30, 7000.0));
ExcelUtils.exportToExcel(userList, "User List", "output.xlsx", response);
```
该工具类使用 EasyPoi 库来处理 Excel 文件。注意,该类仅支持导出 xlsx 格式的文件,如需支持 xls 格式的文件,需要修改代码。此外,该类需要在 servlet 环境下使用,需要传递一个 HttpServletResponse 对象来输出文件。