复合表头的实现代码

复合表头的实现代码

在这里插入图片描述

import com.alibaba.fastjson.JSON;
import com.enation.app.javashop.core.extended.enums.CheckStatusEnum;
import com.enation.app.javashop.core.extended.enums.IndexEnums.IndexPayTypesEnum;
import com.enation.app.javashop.core.extended.enums.PayWay;
import com.enation.app.javashop.core.extended.model.dos.AssignWorkerDO;
import com.enation.app.javashop.core.extended.model.dos.OrderIODO;
import com.enation.app.javashop.core.extended.model.dos.OrderServiceRecordDO;
import com.enation.app.javashop.core.extended.model.dos.OrderSettleDO;
import com.enation.app.javashop.core.extended.model.vo.*;
import com.enation.app.javashop.core.extended.service.CompanyConfigManager;
import com.enation.app.javashop.core.extended.service.MediumSettleManager;
import com.enation.app.javashop.core.extended.service.MediumSettleQueryManager;
import com.enation.app.javashop.core.extended.service.OrderServiceManager;
import com.enation.app.javashop.core.extended.util.ServiceUtil;
import com.enation.app.javashop.core.trade.order.model.dos.OrderDO;
import com.enation.app.javashop.core.trade.order.service.OrderQueryManager;
import com.enation.app.javashop.framework.context.UserContext;
import com.enation.app.javashop.framework.database.DaoSupport;
import com.enation.app.javashop.framework.database.Page;
import com.enation.app.javashop.framework.util.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.*;
import java.util.stream.Collectors;

X

SSFWorkbook wb = new XSSFWorkbook();
        XSSFSheet sheet = wb.createSheet("收入明细表");
        XSSFCellStyle style = wb.createCellStyle(); // 样式对象
        style.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);// 垂直
        style.setAlignment(XSSFCellStyle.ALIGN_CENTER);// 水平
        String wechat = IndexPayTypesEnum.WECHAT.desc();
        String cash = IndexPayTypesEnum.CASH.desc();
        String pos = IndexPayTypesEnum.POS.desc();
        String alipay = IndexPayTypesEnum.ALIPAY.desc();

        XSSFRow row0 = sheet.createRow(0);
        XSSFRow row1 = sheet.createRow(1);

        createCellOne(sheet, row0, style, 0, "订单编号");

        createCellOne(sheet, row0, style, 1, "楼栋");
        createCellOne(sheet, row0, style, 2, "病区");
        createCellOne(sheet, row0, style, 3, "床位号");

        createCellOne(sheet, row0, style, 4, "患者姓名");
        createCellOne(sheet, row0, style, 5, "上期结余");

        this.createCellTwo(sheet, style, row0, row1, 6, "上期结余方式");

        createCellOne(sheet, row0, style, 10, "本期预收");


        this.createCellTwo(sheet, style, row0, row1, 11, "预收方式");

        createCellOne(sheet, row0, style, 15, "确认收入日期");

        createCellOne(sheet, row0, style, 16, "确认收入周期");

        createCellOne(sheet, row0, style, 17, "本期收入");

        this.createCellTwo(sheet, style, row0, row1, 18, "收入方式");


        createCellOne(sheet, row0, style, 22, "本期结余");

        this.createCellTwo(sheet, style, row0, row1, 23, "结余方式");


 private void createCellOne(XSSFSheet sheet, XSSFRow row1, XSSFCellStyle style, int column, String value) {
        //第一个格子
        XSSFCell cell = row1.createCell(column);
        cell.setCellValue(value);
        cell.setCellStyle(style);//样式,居中
        CellRangeAddress region = new CellRangeAddress(0, 1, column, column);
        sheet.addMergedRegion(region);
    }

    private void createCellTwo(XSSFSheet sheet, XSSFCellStyle style, XSSFRow row0, XSSFRow row1, int startColumn, String value) {

        XSSFCell cell = row0.createCell(startColumn);
        cell.setCellValue(value);
        cell.setCellStyle(style);
        CellRangeAddress region = new CellRangeAddress(0, 0, startColumn, startColumn+3);
        sheet.addMergedRegion(region);

        XSSFCell cell1 = row1.createCell(startColumn);
        cell1.setCellValue(IndexPayTypesEnum.WECHAT.desc());
        XSSFCell cell2 = row1.createCell(startColumn+1);
        cell2.setCellValue(IndexPayTypesEnum.ALIPAY.desc());
        XSSFCell cell3 = row1.createCell(startColumn+2);
        cell3.setCellValue(IndexPayTypesEnum.CASH.desc());
        XSSFCell cell4 = row1.createCell(startColumn+3);
        cell4.setCellValue(IndexPayTypesEnum.POS.desc());

    }
发布了57 篇原创文章 · 获赞 0 · 访问量 4545

猜你喜欢

转载自blog.csdn.net/Arry_Coding/article/details/104001913