This project has retired. For details please refer to its
Attic page.
XSSFWorkbookTest xref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.any23.plugin.officescraper;
19
20 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
21 import org.apache.poi.ss.usermodel.Cell;
22 import org.apache.poi.ss.usermodel.Row;
23 import org.apache.poi.ss.usermodel.Sheet;
24 import org.apache.poi.ss.usermodel.Workbook;
25 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
26 import org.junit.Assert;
27 import org.junit.Test;
28 import org.slf4j.Logger;
29 import org.slf4j.LoggerFactory;
30
31 import java.io.IOException;
32 import java.io.InputStream;
33
34
35
36
37
38
39 public class XSSFWorkbookTest {
40
41 private static final Logger logger = LoggerFactory.getLogger(XSSFWorkbookTest.class);
42
43 @Test
44 public void testXLSXFormatAccess() throws IOException {
45 verifyResource("test1-workbook.xlsx");
46 }
47
48 @Test
49 public void testXLSFormatAccess() throws IOException {
50 verifyResource("test2-workbook.xls");
51 }
52
53 private void verifyResource(String resource) throws IOException {
54 final InputStream document = this.getClass().getResourceAsStream(resource);
55 final Workbook wb;
56 if(resource.endsWith(".xlsx")) {
57 wb = new XSSFWorkbook(document);
58 } else if(resource.endsWith("xls")) {
59 wb = new HSSFWorkbook(document);
60 } else {
61 throw new IllegalArgumentException("Unsupported extension for resource " + resource);
62 }
63 Assert.assertEquals(2, wb.getNumberOfSheets());
64 Sheet sheet;
65 for (int sheetIndex = 0; sheetIndex < wb.getNumberOfSheets(); sheetIndex++) {
66 sheet = wb.getSheetAt(sheetIndex);
67 int rowcount = 0;
68 for (Row row : sheet) {
69 rowcount++;
70 int cellcount = 0;
71 for (Cell cell : row) {
72 cellcount++;
73 logger.debug(
74 String.format(
75 "cell [%d, %d]: %s",
76 cell.getRowIndex(),
77 cell.getColumnIndex(),
78 cell.getStringCellValue()
79 )
80 );
81 verifyContent(sheetIndex, cell.getRowIndex(), cell.getColumnIndex(), cell.getStringCellValue());
82 }
83 Assert.assertEquals(3, cellcount);
84 }
85 Assert.assertEquals(3, rowcount);
86 }
87 }
88
89 private void verifyContent(int sheet, int row, int col, String content) {
90 Assert.assertEquals(
91 String.format("%s %d.%d", sheet == 0 ? "a" : "b", row + 1, col + 1),
92 content
93 );
94 }
95
96 }