就是这种情况:我正在获取SXSSFWorkbook对象,并且需要使用该对象创建数据透视表。是我们可以实现的任何方式。

我检查了以下链接:
Apache POI - is there a way to create a pivot table where the source table is a SXSSFSheet?

但是在这种情况下,首先我们要创建XSSFWorkbook,然后再创建SXSSFworkbook。是否可以通过使用SXSSFworkbook来实现此目的,或者通过创建XSSFWorkbook来实现数据透视表,然后可以集成到现有的SXSSFWorkbook中。

最佳答案

解决了以上问题,请找到以下代码。

     SXSSFWorkbook swb=null;
    XSSFSheet pivotSheet=null;
    AreaReference areaReference=null;
    if(wb instanceof SXSSFWorkbook ) {
        swb =(SXSSFWorkbook)wb;
        pivotSheet= swb.getXSSFWorkbook().createSheet("Pivot Sheet");
        SXSSFSheet sxssfDataSheet = (SXSSFSheet) sheet;
        areaReference = new AreaReference("A1:K"+(sxssfDataSheet.getLastRowNum() + 1), SpreadsheetVersion.EXCEL2007);
    }else {
        wb.createSheet("Pivot Sheet");
        pivotSheet = (XSSFSheet) wb.getSheetAt(1);
        XSSFSheet  xssfDataSheet = (XSSFSheet) sheet;
        areaReference = new AreaReference("A1:K"+(xssfDataSheet.getLastRowNum() + 1), SpreadsheetVersion.EXCEL2007);
    }


获得此对象后,便可以根据需要构造枢轴结构。

07-27 19:11