easyexcel icon indicating copy to clipboard operation
easyexcel copied to clipboard

关于修改工作簿标签颜色的问题

Open genglongsir opened this issue 1 year ago • 1 comments

建议先去看文档

快速开始常见问题

异常代码

   这里写你的代码

异常提示

大家尽量把问题一次性描述清楚,然后贴上全部异常,这样方便把问题一次性解决掉。 至少大家要符合一个原则就是,能让其他人复现出这个问题,如果无法复现,肯定无法解决。

问题描述

我想将工作簿标签页的颜色修改为红色,但是目前没有找到对应的方法 我发现poi里面有一个org.apache.poi.xssf.usermodel.XSSFSheet#setTabColor的方法可以修改,但是easyexcel没有找到

genglongsir avatar Dec 12 '24 06:12 genglongsir

Apache POI 中XSSF SXSSFSheet支持设置标签颜色(setTabColor方法),可以自定义一个WriteHandler来对Sheet进行设置,

public class EasyExcelWriteHandler implements SheetWriteHandler {
    @Override
    public void afterSheetCreate(SheetWriteHandlerContext context) {
        Sheet cacheedSheet = context.getWriteSheetHolder().getCachedSheet();
        if (ExcelTypeEnum.XLSX.equals(context.getWriteContext().writeWorkbookHolder().getExcelType())) {
            SXSSFSheet sxssfSheet = (SXSSFSheet) cacheedSheet;
            sxssfSheet.setTabColor(IndexedColors.RED.getIndex());
        }
    }
}

delei avatar Jul 22 '25 15:07 delei