import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* 导出报表工具类
*/
public class ExcelUtil {
/**
* @param workbook
* @param sheetNum (sheet的位置,0表示第一个表格中的第一个sheet)
* @param title (sheet的名称)
* @param headers (表格的标题)
* @throws Exception
* @Title: exportExcel
* @Description: 导出Excel的方法
*/
public static void exportExcel(XSSFWorkbook workbook, int sheetNum, String title, String headers[],
String[][] values)
throws Exception {
XSSFSheet hssfSheet = workbook.createSheet();
workbook.setSheetName(sheetNum, title);
// 设置值表头样式 设置表头居中
XSSFCellStyle hssfCellStyle = workbook.createCellStyle();
hssfCellStyle.setAlignment(HorizontalAlignment.CENTER); // 设置居中样式
hssfCellStyle.setBorderBottom(BorderStyle.THIN);
hssfCellStyle.setBorderLeft(BorderStyle.THIN);
hssfCellStyle.setBorderRight(BorderStyle.THIN);
hssfCellStyle.setBorderTop(BorderStyle.THIN);
// 设置表内容样式
// 创建单元格,并设置值表头 设置表头居中
XSSFCellStyle style1 = workbook.createCellStyle();
style1.setBorderBottom(BorderStyle.THIN);
style1.setBorderLeft(BorderStyle.THIN);
style1.setBorderRight(BorderStyle.THIN);
style1.setBorderTop(BorderStyle.THIN);
// 产生表头
XSSFRow row1 = hssfSheet.createRow(0);
for (int i = 0; i < headers.length; i++) {
XSSFCell hssfCell = row1.createCell(i);
hssfCell.setCellValue(headers[i]);
hssfCell.setCellStyle(hssfCellStyle);
}
// 创建内容
for (int i = 0; i < values.length; i++) {
row1 = hs