import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import java.util.List;
import java.util.Map;
public class ExcelUtil {
/**
* 生成Excel workbook工具类,后去workbook后,可以直接调用OutputStream out = response.getOutputStream();workbook.write(out);返回
* @param headers
* @param contents
* @return
*/
public static HSSFWorkbook buildExcel(Map<String, String> headers, List<Map<String, String>> contents) {
HSSFWorkbook workbook = new HSSFWorkbook(); // 创建一个excel
HSSFSheet sheet = workbook.createSheet("Sheet1");// 新建sheet页
HSSFCellStyle cellStyle = workbook.createCellStyle(); // 新建单元格样式
cellStyle.setFillForegroundColor((short) 13);// 设置背景色
cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
cellStyle.setWrapText(true);// 设置自动换行
//设置标题
HSSFRow titleRow = sheet.createRow(0);
int[] i = {0};
headers.forEach((key, val) -> titleRow.createCell(i[0]++).setCellValue(val));
//设置内容
int row = 1; int[] j = {0};
for (Map<String, String> data : contents) {
HSSFRow hssfRow = sheet.createRow(row++);
j[0] = 0;
headers.forEach((key, v) -> {
String val = data.get(key);
hssfRow.createCell(j[0]++).setCellValue(val);
});
}
return workbook;
}
}
关注公众号获取更多内容,有问题也可在公众号提问哦:
强哥叨逼叨
叨逼叨编程、互联网的见解和新鲜事