Search in sources :

Example 6 with KCell

use of org.pentaho.di.core.spreadsheet.KCell in project pentaho-kettle by pentaho.

the class StaxPoiSheetTest method testReadEmptyRow.

@Test
public void testReadEmptyRow() throws Exception {
    KSheet sheet1 = getSampleSheet();
    KCell[] row = sheet1.getRow(0);
    assertEquals("empty row expected", 0, row.length);
}
Also used : KSheet(org.pentaho.di.core.spreadsheet.KSheet) KCell(org.pentaho.di.core.spreadsheet.KCell) Test(org.junit.Test)

Example 7 with KCell

use of org.pentaho.di.core.spreadsheet.KCell in project pentaho-kettle by pentaho.

the class StaxPoiSheetTest method testInlineString.

@Test
public void testInlineString() throws Exception {
    final String sheetId = "1";
    final String sheetName = "Sheet 1";
    XSSFReader reader = mockXSSFReader(sheetId, SHEET_INLINE_STRINGS, mock(SharedStringsTable.class), mock(StylesTable.class));
    StaxPoiSheet spSheet = new StaxPoiSheet(reader, sheetName, sheetId);
    KCell[] rowCells = spSheet.getRow(0);
    assertEquals("Test1", rowCells[0].getValue());
    assertEquals(KCellType.STRING_FORMULA, rowCells[0].getType());
    assertEquals("Test2", rowCells[1].getValue());
    assertEquals(KCellType.STRING_FORMULA, rowCells[1].getType());
    rowCells = spSheet.getRow(1);
    assertEquals("value 1 1", rowCells[0].getValue());
    assertEquals(KCellType.STRING_FORMULA, rowCells[0].getType());
    assertEquals("value 2 1", rowCells[1].getValue());
    assertEquals(KCellType.STRING_FORMULA, rowCells[1].getType());
    rowCells = spSheet.getRow(2);
    assertEquals("value 1 2", rowCells[0].getValue());
    assertEquals(KCellType.STRING_FORMULA, rowCells[0].getType());
    assertEquals("value 2 2", rowCells[1].getValue());
    assertEquals(KCellType.STRING_FORMULA, rowCells[1].getType());
}
Also used : SharedStringsTable(org.apache.poi.xssf.model.SharedStringsTable) StylesTable(org.apache.poi.xssf.model.StylesTable) KCell(org.pentaho.di.core.spreadsheet.KCell) XSSFReader(org.apache.poi.xssf.eventusermodel.XSSFReader) Test(org.junit.Test)

Example 8 with KCell

use of org.pentaho.di.core.spreadsheet.KCell in project pentaho-kettle by pentaho.

the class JxlWorkBookIT method testRead.

public void testRead() throws Exception {
    KWorkbook workbook = WorkbookFactory.getWorkbook(SpreadSheetType.JXL, "src/it/resources/sample-file.xls", null);
    int numberOfSheets = workbook.getNumberOfSheets();
    assertEquals(3, numberOfSheets);
    KSheet sheet1 = workbook.getSheet(0);
    assertEquals("Sheet1", sheet1.getName());
    sheet1 = workbook.getSheet("Sheet1");
    assertEquals("Sheet1", sheet1.getName());
    assertEquals(5, sheet1.getRows());
    KCell[] row = sheet1.getRow(2);
    assertEquals(KCellType.LABEL, row[1].getType());
    assertEquals("One", row[1].getValue());
    assertEquals(KCellType.DATE, row[2].getType());
    assertEquals(new Date(1283817600000L), row[2].getValue());
    assertEquals(KCellType.NUMBER, row[3].getType());
    assertEquals(Double.valueOf("75"), row[3].getValue());
    assertEquals(KCellType.BOOLEAN, row[4].getType());
    assertEquals(Boolean.valueOf(true), row[4].getValue());
    assertEquals(KCellType.NUMBER_FORMULA, row[5].getType());
    assertEquals(Double.valueOf("75"), row[5].getValue());
    row = sheet1.getRow(3);
    assertEquals(KCellType.LABEL, row[1].getType());
    assertEquals("Two", row[1].getValue());
    assertEquals(KCellType.DATE, row[2].getType());
    assertEquals(new Date(1283904000000L), row[2].getValue());
    assertEquals(KCellType.NUMBER, row[3].getType());
    assertEquals(Double.valueOf("42"), row[3].getValue());
    assertEquals(KCellType.BOOLEAN, row[4].getType());
    assertEquals(Boolean.valueOf(false), row[4].getValue());
    assertEquals(KCellType.NUMBER_FORMULA, row[5].getType());
    assertEquals(Double.valueOf("117"), row[5].getValue());
    row = sheet1.getRow(4);
    assertEquals(KCellType.LABEL, row[1].getType());
    assertEquals("Three", row[1].getValue());
    assertEquals(KCellType.DATE, row[2].getType());
    assertEquals(new Date(1283990400000L), row[2].getValue());
    assertEquals(KCellType.NUMBER, row[3].getType());
    assertEquals(Double.valueOf("93"), row[3].getValue());
    assertEquals(KCellType.BOOLEAN, row[4].getType());
    assertEquals(Boolean.valueOf(true), row[4].getValue());
    assertEquals(KCellType.NUMBER_FORMULA, row[5].getType());
    assertEquals(Double.valueOf("210"), row[5].getValue());
    try {
        sheet1.getRow(5);
        throw new Exception("No out of bounds exception thrown when expected");
    } catch (ArrayIndexOutOfBoundsException e) {
    // OK!
    }
    workbook.close();
}
Also used : KWorkbook(org.pentaho.di.core.spreadsheet.KWorkbook) KSheet(org.pentaho.di.core.spreadsheet.KSheet) KCell(org.pentaho.di.core.spreadsheet.KCell) Date(java.util.Date)

Example 9 with KCell

use of org.pentaho.di.core.spreadsheet.KCell in project pentaho-kettle by pentaho.

the class OdsWorkBookIT method testRead.

public void testRead() throws Exception {
    KWorkbook workbook = WorkbookFactory.getWorkbook(SpreadSheetType.ODS, "src/it/resources/sample-file.ods", null);
    int numberOfSheets = workbook.getNumberOfSheets();
    assertEquals(3, numberOfSheets);
    KSheet sheet1 = workbook.getSheet(0);
    assertEquals("Sheet1", sheet1.getName());
    sheet1 = workbook.getSheet("Sheet1");
    assertEquals("Sheet1", sheet1.getName());
    assertEquals(5, sheet1.getRows());
    KCell[] row = sheet1.getRow(2);
    assertEquals(KCellType.LABEL, row[1].getType());
    assertEquals("One", row[1].getValue());
    assertEquals(KCellType.DATE, row[2].getType());
    assertEquals(new Date(1283817600000L), row[2].getValue());
    assertEquals(KCellType.NUMBER, row[3].getType());
    assertEquals(Double.valueOf("75"), row[3].getValue());
    // Always like that in ODS
    assertEquals(KCellType.BOOLEAN_FORMULA, row[4].getType());
    assertEquals(Boolean.valueOf(true), row[4].getValue());
    assertEquals(KCellType.NUMBER_FORMULA, row[5].getType());
    assertEquals(Double.valueOf("75"), row[5].getValue());
    row = sheet1.getRow(3);
    assertEquals(KCellType.LABEL, row[1].getType());
    assertEquals("Two", row[1].getValue());
    assertEquals(KCellType.DATE, row[2].getType());
    assertEquals(new Date(1283904000000L), row[2].getValue());
    assertEquals(KCellType.NUMBER, row[3].getType());
    assertEquals(Double.valueOf("42"), row[3].getValue());
    // Always like that in ODS
    assertEquals(KCellType.BOOLEAN_FORMULA, row[4].getType());
    assertEquals(Boolean.valueOf(false), row[4].getValue());
    assertEquals(KCellType.NUMBER_FORMULA, row[5].getType());
    assertEquals(Double.valueOf("117"), row[5].getValue());
    row = sheet1.getRow(4);
    assertEquals(KCellType.LABEL, row[1].getType());
    assertEquals("Three", row[1].getValue());
    assertEquals(KCellType.DATE, row[2].getType());
    assertEquals(new Date(1283990400000L), row[2].getValue());
    assertEquals(KCellType.NUMBER, row[3].getType());
    assertEquals(Double.valueOf("93"), row[3].getValue());
    // Always like that in ODS
    assertEquals(KCellType.BOOLEAN_FORMULA, row[4].getType());
    assertEquals(Boolean.valueOf(true), row[4].getValue());
    assertEquals(KCellType.NUMBER_FORMULA, row[5].getType());
    assertEquals(Double.valueOf("210"), row[5].getValue());
    workbook.close();
}
Also used : KWorkbook(org.pentaho.di.core.spreadsheet.KWorkbook) KSheet(org.pentaho.di.core.spreadsheet.KSheet) KCell(org.pentaho.di.core.spreadsheet.KCell) Date(java.util.Date)

Example 10 with KCell

use of org.pentaho.di.core.spreadsheet.KCell in project pentaho-kettle by pentaho.

the class StaxWorkBookIT method testReadEmptyRow.

@Test
public void testReadEmptyRow() throws Exception {
    KWorkbook workbook = getWorkbook("src/it/resources/sample-file.xlsx", null);
    KSheet sheet1 = workbook.getSheet(0);
    KCell[] row = sheet1.getRow(0);
    assertEquals(0, row.length);
}
Also used : KWorkbook(org.pentaho.di.core.spreadsheet.KWorkbook) KSheet(org.pentaho.di.core.spreadsheet.KSheet) KCell(org.pentaho.di.core.spreadsheet.KCell) Test(org.junit.Test)

Aggregations

KCell (org.pentaho.di.core.spreadsheet.KCell)23 KSheet (org.pentaho.di.core.spreadsheet.KSheet)16 Test (org.junit.Test)12 Date (java.util.Date)9 KWorkbook (org.pentaho.di.core.spreadsheet.KWorkbook)9 ValueMetaInterface (org.pentaho.di.core.row.ValueMetaInterface)3 IOException (java.io.IOException)2 FileObject (org.apache.commons.vfs2.FileObject)2 Cell (org.apache.poi.ss.usermodel.Cell)2 Row (org.apache.poi.ss.usermodel.Row)2 XSSFReader (org.apache.poi.xssf.eventusermodel.XSSFReader)2 XSSFRichTextString (org.apache.poi.xssf.usermodel.XSSFRichTextString)2 KettleException (org.pentaho.di.core.exception.KettleException)2 KCellType (org.pentaho.di.core.spreadsheet.KCellType)2 FileInputStream (java.io.FileInputStream)1 Method (java.lang.reflect.Method)1 XMLStreamException (javax.xml.stream.XMLStreamException)1 InvalidFormatException (org.apache.poi.openxml4j.exceptions.InvalidFormatException)1 SharedStringsTable (org.apache.poi.xssf.model.SharedStringsTable)1 StylesTable (org.apache.poi.xssf.model.StylesTable)1