112 lines
4.4 KiB
Java
112 lines
4.4 KiB
Java
/* ====================================================================
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
==================================================================== */
|
|
|
|
package org.apache.poi.xssf.usermodel;
|
|
|
|
import org.apache.poi.ss.SpreadsheetVersion;
|
|
import org.apache.poi.ss.usermodel.Cell;
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
import org.apache.poi.ss.util.AreaReference;
|
|
import org.apache.poi.ss.util.CellReference;
|
|
import org.junit.Before;
|
|
|
|
/**
|
|
* Test pivot tables created by area reference
|
|
*/
|
|
public class TestXSSFPivotTableRef extends BaseTestXSSFPivotTable {
|
|
|
|
@Override
|
|
@Before
|
|
public void setUp(){
|
|
wb = new XSSFWorkbook();
|
|
XSSFSheet sheet = wb.createSheet();
|
|
|
|
Row row1 = sheet.createRow(0);
|
|
// Create a cell and put a value in it.
|
|
Cell cell = row1.createCell(0);
|
|
cell.setCellValue("Names");
|
|
Cell cell2 = row1.createCell(1);
|
|
cell2.setCellValue("#");
|
|
Cell cell7 = row1.createCell(2);
|
|
cell7.setCellValue("Data");
|
|
Cell cell10 = row1.createCell(3);
|
|
cell10.setCellValue("Value");
|
|
|
|
Row row2 = sheet.createRow(1);
|
|
Cell cell3 = row2.createCell(0);
|
|
cell3.setCellValue("Jan");
|
|
Cell cell4 = row2.createCell(1);
|
|
cell4.setCellValue(10);
|
|
Cell cell8 = row2.createCell(2);
|
|
cell8.setCellValue("Apa");
|
|
Cell cell11 = row1.createCell(3);
|
|
cell11.setCellValue(11.11);
|
|
|
|
Row row3 = sheet.createRow(2);
|
|
Cell cell5 = row3.createCell(0);
|
|
cell5.setCellValue("Ben");
|
|
Cell cell6 = row3.createCell(1);
|
|
cell6.setCellValue(9);
|
|
Cell cell9 = row3.createCell(2);
|
|
cell9.setCellValue("Bepa");
|
|
Cell cell12 = row1.createCell(3);
|
|
cell12.setCellValue(12.12);
|
|
|
|
AreaReference source = new AreaReference("A1:C2", SpreadsheetVersion.EXCEL2007);
|
|
pivotTable = sheet.createPivotTable(source, new CellReference("H5"));
|
|
|
|
XSSFSheet offsetSheet = wb.createSheet();
|
|
|
|
Row tableRow_1 = offsetSheet.createRow(1);
|
|
offsetOuterCell = tableRow_1.createCell(1);
|
|
offsetOuterCell.setCellValue(-1);
|
|
Cell tableCell_1_1 = tableRow_1.createCell(2);
|
|
tableCell_1_1.setCellValue("Row #");
|
|
Cell tableCell_1_2 = tableRow_1.createCell(3);
|
|
tableCell_1_2.setCellValue("Exponent");
|
|
Cell tableCell_1_3 = tableRow_1.createCell(4);
|
|
tableCell_1_3.setCellValue("10^Exponent");
|
|
|
|
Row tableRow_2 = offsetSheet.createRow(2);
|
|
Cell tableCell_2_1 = tableRow_2.createCell(2);
|
|
tableCell_2_1.setCellValue(0);
|
|
Cell tableCell_2_2 = tableRow_2.createCell(3);
|
|
tableCell_2_2.setCellValue(0);
|
|
Cell tableCell_2_3 = tableRow_2.createCell(4);
|
|
tableCell_2_3.setCellValue(1);
|
|
|
|
Row tableRow_3= offsetSheet.createRow(3);
|
|
Cell tableCell_3_1 = tableRow_3.createCell(2);
|
|
tableCell_3_1.setCellValue(1);
|
|
Cell tableCell_3_2 = tableRow_3.createCell(3);
|
|
tableCell_3_2.setCellValue(1);
|
|
Cell tableCell_3_3 = tableRow_3.createCell(4);
|
|
tableCell_3_3.setCellValue(10);
|
|
|
|
Row tableRow_4 = offsetSheet.createRow(4);
|
|
Cell tableCell_4_1 = tableRow_4.createCell(2);
|
|
tableCell_4_1.setCellValue(2);
|
|
Cell tableCell_4_2 = tableRow_4.createCell(3);
|
|
tableCell_4_2.setCellValue(2);
|
|
Cell tableCell_4_3 = tableRow_4.createCell(4);
|
|
tableCell_4_3.setCellValue(100);
|
|
|
|
AreaReference offsetSource = new AreaReference(new CellReference("C2"), new CellReference("E4"));
|
|
offsetPivotTable = offsetSheet.createPivotTable(offsetSource, new CellReference("C6"));
|
|
}
|
|
}
|