第一步:导入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.17</version>
</dependency>
第二步:复制我的这两个类到项目中
package com.***.utils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.*;
public class ExcelUtil {
public static final String CONTEXTPATH = "dqam\\";
public static final String XLSX = ".xlsx";
public static String getExportExcelFilePath(HttpServletRequest request,
String fileName) {
if ("".equals(fileName) || fileName == null) {
return "";
} else {
return request.getSession().getServletContext().getRealPath("/")
+ CONTEXTPATH + fileName
+ XLSX;
}
}
public static XSSFWorkbook getXSSFWorkbook(File file, String filePath)
throws IOException {
XSSFWorkbook workbook = null;
if (!file.exists()) {
workbook = new XSSFWorkbook();
} else {
workbook = new XSSFWorkbook(filePath);
}
return workbook;
}
public static void saveExcel2003ToTargetPath(String path,
HSSFWorkbook book, String fileName) throws IOException {
File file = new File(path + fileName);
OutputStream out = new FileOutputStream(file);
book.write(out);
out.flush();
out.close();
}
public static void saveExcel2007ToTargetPath(String path,
XSSFWorkbook book, String fileName) throws IOException {
File file = new File(path + "/" + fileName);
OutputStream out = new FileOutputStream(file);
book.write(out);
out.flush();
out.close();
}
public static void saveSheet2003DataToExcel(HSSFWorkbook book,
List<HashMap<String, Object>> dataSet, String[] header,
String sheetName) {
if (header == null || header.length <= 0) {
return;
}
HSSFSheet sheet = book.createSheet(sheetName);
Map<String, HSSFCellStyle> styleMap = getMyHssFcellStyle(book);
HSSFRow titlerow = sheet.createRow(0);
for (int i = 0; i < header.length; i++) {
HSSFCell cell = titlerow.createCell(i);
cell.setCellValue(header[i]);
cell.setCellStyle(styleMap.get("defaultStyle"));
}
if (dataSet == null || dataSet.isEmpty()) {
return;
}
for (int i = 0; i < dataSet.size(); i++) {
Map<String, Object> datamap = dataSet.get(i);
HSSFRow row = sheet.createRow(i + 1);
for (int j = 0; j < header.length; j++) {
HSSFCell cell = row.createCell(j);
cell.setCellValue(String.valueOf(datamap.get(header[j])));
}
}
for (int i = 0; i < header.length; i++) {
sheet.setColumnWidth(i, 5500);
}
}
public static void saveToExcelFX(HSSFWorkbook book,
List<HashMap<String, Object>> dataSet, String[] header,
String sheetName, String styleType) {
if (header == null || header.length <= 0) {
return;
}
HSSFSheet sheet = book.createSheet(sheetName);
HSSFRow titlerow = sheet.createRow(0);
Map<String, HSSFCellStyle> styleMap = getMyHssFcellStyle(book);
for (int i = 0; i < header.length; i++