embulk-parser-poi_excel 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +34 -22
- data/build.gradle +7 -1
- data/src/main/java/org/embulk/parser/poi_excel/PoiExcelColumnValueType.java +21 -3
- data/src/main/java/org/embulk/parser/poi_excel/PoiExcelParserPlugin.java +31 -17
- data/src/main/java/org/embulk/parser/poi_excel/bean/PoiExcelColumnBean.java +23 -1
- data/src/main/java/org/embulk/parser/poi_excel/bean/PoiExcelColumnIndex.java +111 -28
- data/src/main/java/org/embulk/parser/poi_excel/bean/PoiExcelSheetBean.java +13 -1
- data/src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecord.java +52 -0
- data/src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecordColumn.java +80 -0
- data/src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecordRow.java +76 -0
- data/src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecordSheet.java +49 -0
- data/src/main/java/org/embulk/parser/poi_excel/bean/record/RecordType.java +114 -0
- data/src/main/java/org/embulk/parser/poi_excel/bean/util/PoiExcelCellAddress.java +18 -9
- data/src/main/java/org/embulk/parser/poi_excel/visitor/PoiExcelCellValueVisitor.java +8 -1
- data/src/main/java/org/embulk/parser/poi_excel/visitor/PoiExcelColumnVisitor.java +13 -25
- data/src/test/java/org/embulk/parser/poi_excel/TestPoiExcelParserPlugin_recordType.java +192 -0
- metadata +9 -3
@@ -13,6 +13,7 @@ import org.apache.poi.ss.usermodel.Row;
|
|
13
13
|
import org.apache.poi.ss.usermodel.Sheet;
|
14
14
|
import org.apache.poi.ss.usermodel.Workbook;
|
15
15
|
import org.apache.poi.ss.util.CellRangeAddress;
|
16
|
+
import org.apache.poi.ss.util.CellReference;
|
16
17
|
import org.embulk.parser.poi_excel.PoiExcelColumnValueType;
|
17
18
|
import org.embulk.parser.poi_excel.PoiExcelParserPlugin.FormulaReplaceTask;
|
18
19
|
import org.embulk.parser.poi_excel.bean.PoiExcelColumnBean;
|
@@ -159,7 +160,13 @@ public class PoiExcelCellValueVisitor {
|
|
159
160
|
String regex = replace.getRegex();
|
160
161
|
String replacement = replace.getTo();
|
161
162
|
|
162
|
-
|
163
|
+
if (replacement.contains("${row}")) {
|
164
|
+
replacement = replacement.replace("${row}", Integer.toString(cell.getRowIndex() + 1));
|
165
|
+
}
|
166
|
+
if (replacement.contains("${column}")) {
|
167
|
+
replacement = replacement.replace("${column}",
|
168
|
+
CellReference.convertNumToColString(cell.getColumnIndex() + 1));
|
169
|
+
}
|
163
170
|
|
164
171
|
formula = formula.replaceAll(regex, replacement);
|
165
172
|
}
|
@@ -4,11 +4,10 @@ import java.text.MessageFormat;
|
|
4
4
|
|
5
5
|
import org.apache.poi.ss.usermodel.Cell;
|
6
6
|
import org.apache.poi.ss.usermodel.CellType;
|
7
|
-
import org.apache.poi.ss.usermodel.Row;
|
8
7
|
import org.apache.poi.ss.usermodel.Sheet;
|
9
|
-
import org.apache.poi.ss.util.CellReference;
|
10
8
|
import org.embulk.parser.poi_excel.PoiExcelColumnValueType;
|
11
9
|
import org.embulk.parser.poi_excel.bean.PoiExcelColumnBean;
|
10
|
+
import org.embulk.parser.poi_excel.bean.record.PoiExcelRecord;
|
12
11
|
import org.embulk.parser.poi_excel.bean.util.PoiExcelCellAddress;
|
13
12
|
import org.embulk.parser.poi_excel.visitor.embulk.CellVisitor;
|
14
13
|
import org.embulk.spi.Column;
|
@@ -24,7 +23,7 @@ public class PoiExcelColumnVisitor implements ColumnVisitor {
|
|
24
23
|
protected final PageBuilder pageBuilder;
|
25
24
|
protected final PoiExcelVisitorFactory factory;
|
26
25
|
|
27
|
-
protected
|
26
|
+
protected PoiExcelRecord record;
|
28
27
|
|
29
28
|
public PoiExcelColumnVisitor(PoiExcelVisitorValue visitorValue) {
|
30
29
|
this.visitorValue = visitorValue;
|
@@ -32,8 +31,8 @@ public class PoiExcelColumnVisitor implements ColumnVisitor {
|
|
32
31
|
this.factory = visitorValue.getVisitorFactory();
|
33
32
|
}
|
34
33
|
|
35
|
-
public void
|
36
|
-
this.
|
34
|
+
public void setRecord(PoiExcelRecord record) {
|
35
|
+
this.record = record;
|
37
36
|
}
|
38
37
|
|
39
38
|
@Override
|
@@ -69,8 +68,7 @@ public class PoiExcelColumnVisitor implements ColumnVisitor {
|
|
69
68
|
visitCell(column, visitor);
|
70
69
|
} catch (Exception e) {
|
71
70
|
String sheetName = visitorValue.getSheet().getSheetName();
|
72
|
-
String ref =
|
73
|
-
.formatAsString();
|
71
|
+
String ref = record.getCellReference(visitorValue.getColumnBean(column)).formatAsString();
|
74
72
|
throw new RuntimeException(MessageFormat.format("error at {0} cell={1}!{2}. {3}", column, sheetName, ref,
|
75
73
|
e.getMessage()), e);
|
76
74
|
}
|
@@ -87,7 +85,7 @@ public class PoiExcelColumnVisitor implements ColumnVisitor {
|
|
87
85
|
switch (valueType) {
|
88
86
|
case SHEET_NAME:
|
89
87
|
if (cellAddress != null) {
|
90
|
-
Sheet sheet = cellAddress.getSheet(
|
88
|
+
Sheet sheet = cellAddress.getSheet(record);
|
91
89
|
visitor.visitSheetName(column, sheet);
|
92
90
|
} else {
|
93
91
|
visitor.visitSheetName(column);
|
@@ -96,28 +94,18 @@ public class PoiExcelColumnVisitor implements ColumnVisitor {
|
|
96
94
|
case ROW_NUMBER:
|
97
95
|
int rowIndex;
|
98
96
|
if (cellAddress != null) {
|
99
|
-
|
100
|
-
if (cell == null) {
|
101
|
-
visitCellNull(column);
|
102
|
-
return;
|
103
|
-
}
|
104
|
-
rowIndex = cell.getRowIndex();
|
97
|
+
rowIndex = cellAddress.getRowIndex();
|
105
98
|
} else {
|
106
|
-
rowIndex =
|
99
|
+
rowIndex = record.getRowIndex(bean);
|
107
100
|
}
|
108
101
|
visitor.visitRowNumber(column, rowIndex + 1);
|
109
102
|
return;
|
110
103
|
case COLUMN_NUMBER:
|
111
104
|
int columnIndex;
|
112
105
|
if (cellAddress != null) {
|
113
|
-
|
114
|
-
if (cell == null) {
|
115
|
-
visitCellNull(column);
|
116
|
-
return;
|
117
|
-
}
|
118
|
-
columnIndex = cell.getColumnIndex();
|
106
|
+
columnIndex = cellAddress.getColumnIndex();
|
119
107
|
} else {
|
120
|
-
columnIndex =
|
108
|
+
columnIndex = record.getColumnIndex(bean);
|
121
109
|
}
|
122
110
|
visitor.visitColumnNumber(column, columnIndex + 1);
|
123
111
|
return;
|
@@ -128,12 +116,12 @@ public class PoiExcelColumnVisitor implements ColumnVisitor {
|
|
128
116
|
break;
|
129
117
|
}
|
130
118
|
|
131
|
-
assert valueType.useCell();
|
119
|
+
// assert valueType.useCell();
|
132
120
|
Cell cell;
|
133
121
|
if (cellAddress != null) {
|
134
|
-
cell = cellAddress.getCell(
|
122
|
+
cell = cellAddress.getCell(record);
|
135
123
|
} else {
|
136
|
-
cell =
|
124
|
+
cell = record.getCell(bean);
|
137
125
|
}
|
138
126
|
if (cell == null) {
|
139
127
|
visitCellNull(column);
|
@@ -0,0 +1,192 @@
|
|
1
|
+
package org.embulk.parser.poi_excel;
|
2
|
+
|
3
|
+
import static org.hamcrest.CoreMatchers.is;
|
4
|
+
import static org.hamcrest.MatcherAssert.assertThat;
|
5
|
+
|
6
|
+
import java.net.URL;
|
7
|
+
import java.text.ParseException;
|
8
|
+
import java.util.List;
|
9
|
+
|
10
|
+
import org.embulk.parser.EmbulkPluginTester;
|
11
|
+
import org.embulk.parser.EmbulkTestOutputPlugin.OutputRecord;
|
12
|
+
import org.embulk.parser.EmbulkTestParserConfig;
|
13
|
+
import org.junit.experimental.theories.DataPoints;
|
14
|
+
import org.junit.experimental.theories.Theories;
|
15
|
+
import org.junit.experimental.theories.Theory;
|
16
|
+
import org.junit.runner.RunWith;
|
17
|
+
|
18
|
+
@RunWith(Theories.class)
|
19
|
+
public class TestPoiExcelParserPlugin_recordType {
|
20
|
+
|
21
|
+
@DataPoints
|
22
|
+
public static String[] FILES = { "test1.xls", "test2.xlsx" };
|
23
|
+
|
24
|
+
@Theory
|
25
|
+
public void testRecordType_row(String excelFile) throws ParseException {
|
26
|
+
try (EmbulkPluginTester tester = new EmbulkPluginTester()) {
|
27
|
+
tester.addParserPlugin(PoiExcelParserPlugin.TYPE, PoiExcelParserPlugin.class);
|
28
|
+
|
29
|
+
EmbulkTestParserConfig parser = tester.newParserConfig(PoiExcelParserPlugin.TYPE);
|
30
|
+
parser.set("sheet", "test1");
|
31
|
+
parser.set("record_type", "row");
|
32
|
+
parser.set("skip_header_lines", 1);
|
33
|
+
parser.addColumn("text", "string").set("cell_column", "D");
|
34
|
+
parser.addColumn("text_row", "long").set("cell_column", "D").set("value", "row_number");
|
35
|
+
parser.addColumn("text_col", "long").set("cell_column", "D").set("value", "column_number");
|
36
|
+
parser.addColumn("text2", "string").set("cell_row", "4");
|
37
|
+
parser.addColumn("text2_row", "long").set("cell_row", "4").set("value", "row_number");
|
38
|
+
parser.addColumn("text2_col", "long").set("cell_row", "4").set("value", "column_number");
|
39
|
+
parser.addColumn("address1", "string").set("cell_address", "B1").set("value", "cell_value");
|
40
|
+
parser.addColumn("address2", "string").set("cell_column", "D").set("cell_row", "2");
|
41
|
+
parser.addColumn("fix_row", "long").set("cell_address", "B1").set("value", "row_number");
|
42
|
+
parser.addColumn("fix_col", "long").set("cell_address", "B1").set("value", "column_number");
|
43
|
+
|
44
|
+
URL inFile = getClass().getResource(excelFile);
|
45
|
+
List<OutputRecord> result = tester.runParser(inFile, parser);
|
46
|
+
|
47
|
+
assertThat(result.size(), is(7));
|
48
|
+
check1(result, 0, "abc");
|
49
|
+
check1(result, 1, "def");
|
50
|
+
check1(result, 2, "456");
|
51
|
+
check1(result, 3, "abc");
|
52
|
+
check1(result, 4, "abc");
|
53
|
+
check1(result, 5, "true");
|
54
|
+
check1(result, 6, null);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
private void check1(List<OutputRecord> result, int index, String text) {
|
59
|
+
OutputRecord record = result.get(index);
|
60
|
+
// System.out.println(record);
|
61
|
+
assertThat(record.getAsString("text"), is(text));
|
62
|
+
assertThat(record.getAsLong("text_row"), is((long) index + 2));
|
63
|
+
assertThat(record.getAsLong("text_col"), is(4L));
|
64
|
+
assertThat(record.getAsString("text2"), is("42283"));
|
65
|
+
assertThat(record.getAsLong("text2_row"), is(4L));
|
66
|
+
assertThat(record.getAsLong("text2_col"), is(5L));
|
67
|
+
assertThat(record.getAsString("address1"), is("long"));
|
68
|
+
assertThat(record.getAsString("address2"), is("abc"));
|
69
|
+
assertThat(record.getAsLong("fix_row"), is(1L));
|
70
|
+
assertThat(record.getAsLong("fix_col"), is(2L));
|
71
|
+
}
|
72
|
+
|
73
|
+
@Theory
|
74
|
+
public void testRecordType_column0(String excelFile) throws ParseException {
|
75
|
+
try (EmbulkPluginTester tester = new EmbulkPluginTester()) {
|
76
|
+
tester.addParserPlugin(PoiExcelParserPlugin.TYPE, PoiExcelParserPlugin.class);
|
77
|
+
|
78
|
+
EmbulkTestParserConfig parser = tester.newParserConfig(PoiExcelParserPlugin.TYPE);
|
79
|
+
parser.set("sheet", "test1");
|
80
|
+
parser.set("record_type", "column");
|
81
|
+
// parser.set("skip_header_lines", 0);
|
82
|
+
parser.addColumn("text", "string").set("cell_row", "5");
|
83
|
+
parser.addColumn("text_row", "long").set("cell_row", "5").set("value", "row_number");
|
84
|
+
parser.addColumn("text_col", "long").set("cell_row", "5").set("value", "column_number");
|
85
|
+
parser.addColumn("text2", "string").set("cell_column", "D");
|
86
|
+
parser.addColumn("text2_row", "long").set("cell_column", "D").set("value", "row_number");
|
87
|
+
parser.addColumn("text2_col", "long").set("cell_column", "D").set("value", "column_number");
|
88
|
+
parser.addColumn("address1", "string").set("cell_address", "B1").set("value", "cell_value");
|
89
|
+
parser.addColumn("address2", "string").set("cell_column", "D").set("cell_row", "2");
|
90
|
+
parser.addColumn("fix_row", "long").set("cell_address", "B1").set("value", "row_number");
|
91
|
+
parser.addColumn("fix_col", "long").set("cell_address", "B1").set("value", "column_number");
|
92
|
+
|
93
|
+
URL inFile = getClass().getResource(excelFile);
|
94
|
+
List<OutputRecord> result = tester.runParser(inFile, parser);
|
95
|
+
|
96
|
+
assertThat(result.size(), is(7));
|
97
|
+
int z = 1;
|
98
|
+
check2(result, 0, z, "true");
|
99
|
+
check2(result, 1, z, "123");
|
100
|
+
check2(result, 2, z, "123.4");
|
101
|
+
check2(result, 3, z, "abc");
|
102
|
+
check2(result, 4, z, "2015/10/07");
|
103
|
+
check2(result, 5, z, null);
|
104
|
+
check2(result, 6, z, "CELL_TYPE_STRING");
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
108
|
+
@Theory
|
109
|
+
public void testRecordType_column1(String excelFile) throws ParseException {
|
110
|
+
try (EmbulkPluginTester tester = new EmbulkPluginTester()) {
|
111
|
+
tester.addParserPlugin(PoiExcelParserPlugin.TYPE, PoiExcelParserPlugin.class);
|
112
|
+
|
113
|
+
EmbulkTestParserConfig parser = tester.newParserConfig(PoiExcelParserPlugin.TYPE);
|
114
|
+
parser.set("sheet", "test1");
|
115
|
+
parser.set("record_type", "column");
|
116
|
+
parser.set("skip_header_lines", 1);
|
117
|
+
parser.addColumn("text", "string").set("cell_row", "5");
|
118
|
+
parser.addColumn("text_row", "long").set("cell_row", "5").set("value", "row_number");
|
119
|
+
parser.addColumn("text_col", "long").set("cell_row", "5").set("value", "column_number");
|
120
|
+
parser.addColumn("text2", "string").set("cell_column", "D");
|
121
|
+
parser.addColumn("text2_row", "long").set("cell_column", "D").set("value", "row_number");
|
122
|
+
parser.addColumn("text2_col", "long").set("cell_column", "D").set("value", "column_number");
|
123
|
+
parser.addColumn("address1", "string").set("cell_address", "B1").set("value", "cell_value");
|
124
|
+
parser.addColumn("address2", "string").set("cell_column", "D").set("cell_row", "2");
|
125
|
+
parser.addColumn("fix_row", "long").set("cell_address", "B1").set("value", "row_number");
|
126
|
+
parser.addColumn("fix_col", "long").set("cell_address", "B1").set("value", "column_number");
|
127
|
+
|
128
|
+
URL inFile = getClass().getResource(excelFile);
|
129
|
+
List<OutputRecord> result = tester.runParser(inFile, parser);
|
130
|
+
|
131
|
+
assertThat(result.size(), is(6));
|
132
|
+
int z = 2;
|
133
|
+
check2(result, 0, z, "123");
|
134
|
+
check2(result, 1, z, "123.4");
|
135
|
+
check2(result, 2, z, "abc");
|
136
|
+
check2(result, 3, z, "2015/10/07");
|
137
|
+
check2(result, 4, z, null);
|
138
|
+
check2(result, 5, z, "CELL_TYPE_STRING");
|
139
|
+
}
|
140
|
+
}
|
141
|
+
|
142
|
+
private void check2(List<OutputRecord> result, int index, int z, String text) {
|
143
|
+
OutputRecord record = result.get(index);
|
144
|
+
// System.out.println(record);
|
145
|
+
assertThat(record.getAsString("text"), is(text));
|
146
|
+
assertThat(record.getAsLong("text_row"), is(5L));
|
147
|
+
assertThat(record.getAsLong("text_col"), is((long) index + z));
|
148
|
+
assertThat(record.getAsString("text2"), is("abc"));
|
149
|
+
assertThat(record.getAsLong("text2_row"), is(6L));
|
150
|
+
assertThat(record.getAsLong("text2_col"), is(4L));
|
151
|
+
assertThat(record.getAsString("address1"), is("long"));
|
152
|
+
assertThat(record.getAsString("address2"), is("abc"));
|
153
|
+
assertThat(record.getAsLong("fix_row"), is(1L));
|
154
|
+
assertThat(record.getAsLong("fix_col"), is(2L));
|
155
|
+
}
|
156
|
+
|
157
|
+
@Theory
|
158
|
+
public void testRecordType_sheet(String excelFile) throws ParseException {
|
159
|
+
try (EmbulkPluginTester tester = new EmbulkPluginTester()) {
|
160
|
+
tester.addParserPlugin(PoiExcelParserPlugin.TYPE, PoiExcelParserPlugin.class);
|
161
|
+
|
162
|
+
EmbulkTestParserConfig parser = tester.newParserConfig(PoiExcelParserPlugin.TYPE);
|
163
|
+
parser.set("sheet", "style");
|
164
|
+
parser.set("record_type", "sheet");
|
165
|
+
parser.addColumn("text", "string");
|
166
|
+
parser.addColumn("text_row", "long").set("cell_row", "5").set("value", "row_number");
|
167
|
+
parser.addColumn("text_col", "long").set("cell_column", "6").set("value", "column_number");
|
168
|
+
parser.addColumn("address1", "string").set("cell_address", "B1").set("value", "cell_value");
|
169
|
+
parser.addColumn("address2", "string").set("cell_column", "A").set("cell_row", "4");
|
170
|
+
parser.addColumn("fix_row", "long").set("cell_address", "B1").set("value", "row_number");
|
171
|
+
parser.addColumn("fix_col", "long").set("cell_address", "B1").set("value", "column_number");
|
172
|
+
|
173
|
+
URL inFile = getClass().getResource(excelFile);
|
174
|
+
List<OutputRecord> result = tester.runParser(inFile, parser);
|
175
|
+
|
176
|
+
assertThat(result.size(), is(1));
|
177
|
+
check3(result, 0, "red");
|
178
|
+
}
|
179
|
+
}
|
180
|
+
|
181
|
+
private void check3(List<OutputRecord> result, int index, String text) {
|
182
|
+
OutputRecord record = result.get(index);
|
183
|
+
// System.out.println(record);
|
184
|
+
assertThat(record.getAsString("text"), is(text));
|
185
|
+
assertThat(record.getAsLong("text_row"), is(5L));
|
186
|
+
assertThat(record.getAsLong("text_col"), is(6L));
|
187
|
+
assertThat(record.getAsString("address1"), is("top"));
|
188
|
+
assertThat(record.getAsString("address2"), is("white"));
|
189
|
+
assertThat(record.getAsLong("fix_row"), is(1L));
|
190
|
+
assertThat(record.getAsLong("fix_col"), is(2L));
|
191
|
+
}
|
192
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embulk-parser-poi_excel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- hishidama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,7 +52,7 @@ files:
|
|
52
52
|
- classpath/commons-codec-1.10.jar
|
53
53
|
- classpath/commons-collections4-4.1.jar
|
54
54
|
- classpath/curvesapi-1.04.jar
|
55
|
-
- classpath/embulk-parser-poi_excel-0.1.
|
55
|
+
- classpath/embulk-parser-poi_excel-0.1.12.jar
|
56
56
|
- classpath/embulk-standards-0.7.5.jar
|
57
57
|
- classpath/poi-3.17.jar
|
58
58
|
- classpath/poi-ooxml-3.17.jar
|
@@ -69,6 +69,11 @@ files:
|
|
69
69
|
- src/main/java/org/embulk/parser/poi_excel/bean/PoiExcelColumnBean.java
|
70
70
|
- src/main/java/org/embulk/parser/poi_excel/bean/PoiExcelColumnIndex.java
|
71
71
|
- src/main/java/org/embulk/parser/poi_excel/bean/PoiExcelSheetBean.java
|
72
|
+
- src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecord.java
|
73
|
+
- src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecordColumn.java
|
74
|
+
- src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecordRow.java
|
75
|
+
- src/main/java/org/embulk/parser/poi_excel/bean/record/PoiExcelRecordSheet.java
|
76
|
+
- src/main/java/org/embulk/parser/poi_excel/bean/record/RecordType.java
|
72
77
|
- src/main/java/org/embulk/parser/poi_excel/bean/util/PoiExcelCellAddress.java
|
73
78
|
- src/main/java/org/embulk/parser/poi_excel/bean/util/SearchMergedCell.java
|
74
79
|
- src/main/java/org/embulk/parser/poi_excel/visitor/AbstractPoiExcelCellAttributeVisitor.java
|
@@ -108,6 +113,7 @@ files:
|
|
108
113
|
- src/test/java/org/embulk/parser/poi_excel/TestPoiExcelParserPlugin_convertError.java
|
109
114
|
- src/test/java/org/embulk/parser/poi_excel/TestPoiExcelParserPlugin_formula.java
|
110
115
|
- src/test/java/org/embulk/parser/poi_excel/TestPoiExcelParserPlugin_mergedCell.java
|
116
|
+
- src/test/java/org/embulk/parser/poi_excel/TestPoiExcelParserPlugin_recordType.java
|
111
117
|
- src/test/java/org/embulk/parser/poi_excel/TestPoiExcelParserPlugin_sheets.java
|
112
118
|
- src/test/resources/org/embulk/parser/poi_excel/test1.xls
|
113
119
|
- src/test/resources/org/embulk/parser/poi_excel/test2.xlsx
|