就是这种情况:我正在获取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);
}
获得此对象后,便可以根据需要构造枢轴结构。