EasyExcel个性化表头

news/2024/10/22 8:39:08/

实现SheetWriteHandler

package cn.hsa.tps.rupu.Listener;import com.alibaba.excel.write.handler.SheetWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;public class RupuDataWriteHandler implements SheetWriteHandler {@Overridepublic void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {}/*** CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)* firstRow 行x轴* lastRow 行y轴* firstCol 列x轴* lastCol 列y轴* 多列字段在同一行需要用同一Row* @param writeWorkbookHolder writeWorkbookHolder* @param writeSheetHolder writeSheetHolder*/@Overridepublic void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {Workbook workbook = writeWorkbookHolder.getWorkbook();Sheet sheet = workbook.getSheetAt(0);//设置标题getTitle(workbook, sheet, 0,"医疗机构预计采购量填报表", (short) 800,(short) 400);sheet.addMergedRegionUnsafe(new CellRangeAddress(0, 0, 0, 7));getTitle(workbook, sheet,1, "为保障广大人民群众诊疗需求,降低群众费用负担,提升临床医用耗材质量,本医疗机构自愿参与广东联盟非药物涂层冠脉球囊类医用耗材带量采购工作,依托江西省医保公共服务药品和医用耗材招采管理子系统,线上填报预计采购量。本医疗机构郑重承诺如下:\n" +"一、根据江西省药品医用耗材集中采购联席会议办公室发布的通知要求,结合本医疗机构上一年度相关品种的实际采购和使用情况,填报预计采购量。\n" +"二、本次预计采购量填报真实、有效。本医疗机构将严格遵守承诺,愿意承担相应的责任。", (short) 1000,(short) 250);sheet.addMergedRegionUnsafe(new CellRangeAddress(1, 1, 0, 7));Row row2 = sheet.createRow(2);getTitle(row2, workbook, "院长(签字):", (short) 800,(short) 250,0);sheet.addMergedRegionUnsafe(new CellRangeAddress(2, 2, 0, 2));getTitle(row2, workbook, "医疗卫生机构(盖章):", (short) 800,(short) 250,3);sheet.addMergedRegionUnsafe(new CellRangeAddress(2, 2, 3, 4));getTitle(row2, workbook, "时间:2022年  月   日", (short) 800,(short) 250,5);sheet.addMergedRegionUnsafe(new CellRangeAddress(2, 2, 5, 7));}/***  @param workbook workbook* @param sheet sheet* @param rowNum rowNum* @param titleName titleName* @param height height* @param fontHeight fontHeight*/private void getTitle(Workbook workbook, Sheet sheet, int rowNum, String titleName, short height, short fontHeight) {Row row2 = sheet.createRow(rowNum);getTitle(row2, workbook, titleName, height, fontHeight, 0);}/*** 同一Row对象(多个字段在同一行)* @param row2 row对象* @param workbook workbook* @param titleName 标题名* @param height 高* @param fontHeight 字高* @param cellNum 字体所在列位置*/private void getTitle(Row row2, Workbook workbook, String titleName, short height, short fontHeight, int cellNum) {row2.setHeight(height);Cell cell1 = row2.createCell(cellNum);cell1.setCellValue(titleName);CellStyle cellStyle = workbook.createCellStyle();// 上下对其方式cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直对齐在单元格的高度上居中。// 左右对其方式cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平对齐居中,这意味着文本在单元格中居中cellStyle.setWrapText(true);Font font = workbook.createFont();font.setBold(true);font.setFontHeight(fontHeight);cellStyle.setFont(font);cell1.setCellStyle(cellStyle);}
}

调用方法

        File tmpFile = TmpFileUtil.create(".xls");EasyExcelFactory.write(tmpFile, RupuDataExcelDTO.class).registerWriteHandler(new RupuDataWriteHandler()).sheet("采购数据").useDefaultStyle(true).relativeHeadRowIndex(3).doWrite(rupuDataExcelDTOS);

 


http://www.ppmy.cn/news/429796.html

相关文章

【工具】Excel表格数据不能编辑

excel文件打开之后不能编辑表格数据,大部分原因是因为工作表设置了保护,在工具栏中找到【审阅】-【撤销工作表保护】,输入excel密码,将保护工作表取消就可以了。 不知道excel密码的同学,可以使用工具帮助我们解决问题…

开发技术-easyexcel生成表格

目录 1.pom配置 2.创建实体类 3.创建工具类 4.业务处理 5.postman测试 1.pom配置 <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency><…

增删改查表格(好看且有趣)

演示地址&#xff1a;https://codepen.io/kissbackboard/pen/oNExNKL 目前实现了增删改查、排序、趣味提示信息、回收站。 右边的猫头鹰是使用Spline3D设计工具制作&#xff0c;我拿官方模型库里的加工了一下 HTML: <!DOCTYPE html> <html lang"en">&…

易语言excel内容查找助手

易语言excel内容查找助手 工具介绍 由于同事需要&#xff0c;公司要求需要我开发一个小excel搜索小工具并且具有能导出另存为excel的功能&#xff0c;然后就有了这个工具。 软件使用说明&#xff1a; 本软件主要把xls得excel文件导入到软件列表&#xff0c;通过列表搜索结果…

超级表格编辑功能详细介绍

超级表格编辑功能详细介绍 今天我们来详细的介绍一下超级表格的编辑功能。 超级表格如何进行复制&#xff0c;黏贴&#xff1f; 部分品牌的电脑有单独的复制快捷键&#xff0c;请您以实际为准&#xff1a; 1. 在超级表格中&#xff0c;如果您想复制一个单元格中的内容到另外一个…

Excel文字排版

真是没有对比就没有伤害&#xff0c;来看看Excel表格中排版前后的惨烈对比&#xff1a; 排版前&#xff1a; 排版后&#xff1a; 一、文字段落排版 Excel单元格中输入文字段落时&#xff0c;位置、行间距等设置非常不方便。而文字框&#xff08;插入 - 文本框&#xff09;则更…

简易电子表格的设计

简易电子表格的设计 问题描述 设计一个支持基本计算统计功能和其它一些表格管理/处理功能的软件&#xff0c;使用户可在该软件的支持下&#xff0c;用交互方式进行表格建立、数据输入、数据编辑及其它一些表格操作。即类似于简易Execel表格处理软件。 基本要求 (1)建立表格…

[易飞]如何制作自定义报表

如何制作自定义报表 要做好报表首先需要掌握以下的技能 1、能够准确的找到信息所在的数据表,以及要显示的字段编号是多少