• POI中excle样式怎么写


    POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:

    先获取工作薄对象:

    HSSFWorkbook wb = new HSSFWorkbook();

    HSSFSheet sheet = wb.createSheet();

    HSSFCellStyle setBorder = wb.createCellStyle();

    一、设置背景色:

    setBorder.setFillForegroundColor((short) 13);// 设置背景色
    setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

    二、设置边框:

    public static CellStyle getStyle(Workbook wb ){
    CellStyle style = wb.createCellStyle();
    style.setBorderBottom(CellStyle.BORDER_THIN);
    style.setBorderLeft(CellStyle.BORDER_THIN);
    style.setBorderRight(CellStyle.BORDER_THIN);
    style.setBorderTop(CellStyle.BORDER_THIN);


    return style;
    }

    三、设置居中:

    style.setAlignment(CellStyle.ALIGN_CENTER);//水平居中 
    style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);//垂直居中 

    四、设置字体:

    HSSFFont font = wb.createFont();
    font.setFontName("黑体");
    font.setFontHeightInPoints((short) 16);//设置字体大小

    HSSFFont font2 = wb.createFont();
    font2.setFontName("仿宋_GB2312");
    font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
    font2.setFontHeightInPoints((short) 12);

    setBorder.setFont(font);//选择需要用到的字体格式

    五、设置列宽:

    sheet.setColumnWidth(0, 3766); //第一个参数代表列id(从0开始),第2个参数代表宽度值

    六、设置自动换行:

    setBorder.setWrapText(true);//设置自动换行

    七、合并单元格:

    Region region1 = new Region(0, (short) 0, 0, (short) 6);

    //参数1:行号 参数2:起始列号 参数3:行号 参数4:终止列号
    sheet.addMergedRegion(region1);

    八、加边框

      HSSFCellStyle cellStyle= wookBook.createCellStyle();
      cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
      cellStyle.setBorderBottom(HSSFCellStyle.BorderBORDER_MEDIUM);
      cellStyle.setBottomBorderColor(HSSFColor.BLACK.index);
      cellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
      cellStyle.setLeftBorderColor(HSSFColor.BLACK.index);
      cellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
      cellStyle.setRightBorderColor(HSSFColor.BLACK.index);
      cellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
      cellStyle.setTopBorderColor(HSSFColor.BLACK.index);

    一个不完整的例子:

    public static HSSFWorkbook generateExcelFiles(File file, StatisticQueryBean bean, List<WGLineBean> beans) {
    HSSFWorkbook wb = null;
    try {
    InputStream inputStream = new FileInputStream(file);
    wb = new HSSFWorkbook(inputStream);
    HSSFSheet sheet = wb.getSheet("sheet1");
    sheet.getRow(2).getCell(2).setCellValue(bean.getCarType());
    sheet.getRow(2).getCell(4).setCellValue(bean.getArea());
    sheet.getRow(2).getCell(6).setCellValue(bean.getStartTime() + "-" + bean.getEndTime());
    CellStyle style = getStyle(wb);
    int row = 4;
    for (WGLineBean model : beans) {
    HSSFRow rows = sheet.createRow(row);
    int col = 0;
    int quantity;
    try {
    quantity = model.getTotalQuantity();
    } catch (Exception e) {
    e.printStackTrace();
    quantity = 0;
    }
    for (int i = 0; i < 15; i++) {
    HSSFCell cell = rows.createCell(i);
    cell.setCellStyle(style);
    }
    sheet.getRow(row).getCell(col++).setCellValue(model.getRecordTime());
    sheet.getRow(row).getCell(col++).setCellValue(quantity - model.getSum_detection1());
    sheet.getRow(row).getCell(col++).setCellValue(model.getSum_detection1());

    sheet.getRow(row).getCell(col++).setCellValue(quantity - model.getSum_detection2());
    sheet.getRow(row).getCell(col++).setCellValue(model.getSum_detection2());

    sheet.getRow(row).getCell(col++).setCellValue(quantity - model.getSum_detection3());
    sheet.getRow(row).getCell(col++).setCellValue(model.getSum_detection3());

    sheet.getRow(row).getCell(col++).setCellValue(quantity - model.getSum_detection4());
    sheet.getRow(row).getCell(col++).setCellValue(model.getSum_detection4());

    sheet.getRow(row).getCell(col++).setCellValue(quantity - model.getSum_detection5());
    sheet.getRow(row).getCell(col++).setCellValue(model.getSum_detection5());

    sheet.getRow(row).getCell(col++).setCellValue(quantity - model.getSum_detection6());
    sheet.getRow(row).getCell(col++).setCellValue(model.getSum_detection6());

    sheet.getRow(row).getCell(col++).setCellValue(quantity - model.getSum_detection7());
    sheet.getRow(row).getCell(col++).setCellValue(model.getSum_detection7());
    row++;
    }
    } catch (Exception e) {
    e.printStackTrace();
    return wb;
    }
    return wb;
    }

     

  • 相关阅读:
    Struts2获取参数的几种方式
    Struts2的Action中访问servletAPI方式
    struts2中常用配置
    struts2发送ajax的几个问题(不使用struts2-json-plugin的情况下)
    深入Struts2的过滤器FilterDispatcher--中文乱码及字符编码过滤器
    Ironic 裸金属实例的部署流程
    Ironic 裸金属管理服务的底层技术支撑
    Cinder AZ 与 Nova AZ 的同步问题
    OpenStack 对接 Ceph 环境可以创建卷但不能挂载卷的问题
    OpenStack 节点重启后无法联网的问题
  • 原文地址:https://www.cnblogs.com/leixiaochen/p/8609549.html
Copyright © 2020-2023  润新知