You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package com.gaotao.common.easyexcel;
import com.alibaba.excel.write.handler.AbstractRowWriteHandler;import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;import com.alibaba.excel.write.metadata.holder.WriteTableHolder;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;
/** * 项目管理事项导出列宽处理器 * 用于控制各列的宽度 */public class ProjectManagementItemsColumnWidthHandler extends AbstractRowWriteHandler { @Override public void afterRowDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Integer relativeRowIndex, Boolean isHead) { Sheet sheet = writeSheetHolder.getSheet(); // 只在第一行设置列宽,避免重复设置
if (row.getRowNum() == 0) { // 序号列 - 较窄
sheet.setColumnWidth(0, 6 * 256); // 内容列 - 较宽
sheet.setColumnWidth(1, 30 * 256); // 时间(天)列 - 较窄
sheet.setColumnWidth(2, 8 * 256); // 计划完成日期列 - 中等
sheet.setColumnWidth(3, 12 * 256); // 完成进度子列(10%-100%)- 很窄,用于显示颜色块
for (int i = 4; i <= 13; i++) { sheet.setColumnWidth(i, 4 * 256); } // 完成进度%列 - 较窄
sheet.setColumnWidth(14, 10 * 256); // 实际完成日期列 - 中等
sheet.setColumnWidth(15, 12 * 256); // 负责人列 - 较窄
sheet.setColumnWidth(16, 8 * 256); // 完成状况列 - 较窄
sheet.setColumnWidth(17, 10 * 256); // 设置行高
sheet.setDefaultRowHeight((short) (20 * 20)); // 设置默认行高
} }}
|