首页 文章

是否可以使用Apache POI XSSF设置活动范围?

提问于
浏览
0

我正在使用Apache POI XSSF来读写Excel表格 .

我知道我可以使用 Sheet.setActiveCell(CellAddress address) 在工作表上设置活动单元格 .

但是,我想将它设置为在工作表上包含多个单元格的Range,如下图所示:

Range selected in Excel Sheet

当我保存使用Excel选择了多个单元格的工作表时,会在打开保存的文件时选择这些单元格 . 有没有办法用POI XSSF做到这一点?

1 回答

  • 3

    您可以使用以下行在excel中将ranke作为活动单元格来实现:

    sheet.setActiveCell("A1:B2");
    

    希望能帮助到你 .

    从3.16开始,不推荐使用setActiveCell(String)方法,并且您不希望使用我建议创建自己的CellAddress的弃用方法:

    public class CellRangeAddress extends CellAddress {
    
        private CellAddress start;
        private CellAddress end;
    
        public CellRangeAddress(final CellAddress start, final CellAddress end) {
            super(start);
            this.start = start;
            this.end = end;
        }
    
    
        @Override
        public String formatAsString() {
            if (end != null) {
                return start.formatAsString() + ":" + end.formatAsString();
            }
            return super.formatAsString();
        }
    }
    

    并使用ist像:

    sheet.setActiveCell(new CellRangeAddress(new CellAddress("A1"), new CellAddress("B2")));
    

    不是最干净,最好的方式,但没有警告 .

相关问题