ExcelUtil 生成excel工具

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;
    }
}

關注公衆號獲取更多內容,有問題也可在公衆號提問哦:

 

強哥叨逼叨

叨逼叨編程、互聯網的見解和新鮮事

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章