This repository was archived by the owner on Sep 4, 2025. It is now read-only.
Description 快速开始 、常见问题
背景:
我希望能够对某一列加下拉框,这个列的下标是不固定的,如列名为: '是否是问题' 就添加'是问题'、'非问题'的下拉框
当前的做法是在writeHandler 的 afterWorkbookDispose方法中,获取每个sheet的第一个Row的值,然后进行匹配,但是当excel行数过多时,这个sheet.getRow(0)就会返回null,无法获取到第一行的值。
异常代码
public void afterWorkbookDispose (WriteWorkbookHolder writeWorkbookHolder ) {
Workbook workbook = writeWorkbookHolder .getWorkbook ();
Iterator <Sheet > sheetIterator = workbook .sheetIterator ();
sheetIterator .forEachRemaining (sheet -> {
setConstraintSheet (sheet .getRow (0 ), dropDownList , size , sheet );
for (int index : hideIndex ) {
sheet .setColumnHidden (index , true );
}
});
}
异常提示
看起来像是调用afterWorkbookDispose时,已经把部分内容刷新到excel里面了,sheet的lastFlushedRowNumeber已经有值,导致无法获取到第一行的内容。
问题描述
afterWorkbookDispose该方法中无法获取到sheet中的第一行数据,有什么方法可以获取到吗,或者我的需求可以用其他方法实现?
示例文档中是在拦截器的afterSheetCreate 里面设置下拉框,但是此时无法获取第一行的内容,是手动指定下标来设置的。我希望能够根据表头内容,来设置对应的下拉框
Reactions are currently unavailable
快速开始 、常见问题
背景:
我希望能够对某一列加下拉框,这个列的下标是不固定的,如列名为: '是否是问题' 就添加'是问题'、'非问题'的下拉框
当前的做法是在writeHandler 的 afterWorkbookDispose方法中,获取每个sheet的第一个Row的值,然后进行匹配,但是当excel行数过多时,这个sheet.getRow(0)就会返回null,无法获取到第一行的值。
异常代码
异常提示
看起来像是调用afterWorkbookDispose时,已经把部分内容刷新到excel里面了,sheet的lastFlushedRowNumeber已经有值,导致无法获取到第一行的内容。
问题描述
afterWorkbookDispose该方法中无法获取到sheet中的第一行数据,有什么方法可以获取到吗,或者我的需求可以用其他方法实现?
示例文档中是在拦截器的afterSheetCreate 里面设置下拉框,但是此时无法获取第一行的内容,是手动指定下标来设置的。我希望能够根据表头内容,来设置对应的下拉框