Skip to content

Commit c9f4177

Browse files
readExcel fixes
1 parent 7a0a377 commit c9f4177

File tree

3 files changed

+32
-21
lines changed

3 files changed

+32
-21
lines changed

dataframe-excel/api/dataframe-excel.api

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@ public final class org/jetbrains/kotlinx/dataframe/io/WorkBookType : java/lang/E
3939

4040
public final class org/jetbrains/kotlinx/dataframe/io/XlsxKt {
4141
public static final synthetic fun readExcel (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Sheet;Ljava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;ILjava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
42-
public static final fun readExcel (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Sheet;Ljava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;ILjava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;Z)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
42+
public static final fun readExcel (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Sheet;Ljava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;ILjava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZ)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
4343
public static final synthetic fun readExcel (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Workbook;Ljava/lang/String;ILjava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
44-
public static final fun readExcel (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Workbook;Ljava/lang/String;ILjava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;Z)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
44+
public static final fun readExcel (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Workbook;Ljava/lang/String;ILjava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZ)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
4545
public static synthetic fun readExcel$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Sheet;Ljava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;ILjava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
46-
public static synthetic fun readExcel$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Sheet;Ljava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;ILjava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
46+
public static synthetic fun readExcel$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Sheet;Ljava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;ILjava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
4747
public static synthetic fun readExcel$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Workbook;Ljava/lang/String;ILjava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
48-
public static synthetic fun readExcel$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Workbook;Ljava/lang/String;ILjava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
48+
public static synthetic fun readExcel$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Lorg/apache/poi/ss/usermodel/Workbook;Ljava/lang/String;ILjava/lang/String;Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
4949
public static final synthetic fun readExcel-CWg63oo (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/File;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
5050
public static final synthetic fun readExcel-CWg63oo (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/InputStream;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
5151
public static final synthetic fun readExcel-CWg63oo (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
@@ -54,14 +54,14 @@ public final class org/jetbrains/kotlinx/dataframe/io/XlsxKt {
5454
public static synthetic fun readExcel-CWg63oo$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/InputStream;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
5555
public static synthetic fun readExcel-CWg63oo$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
5656
public static synthetic fun readExcel-CWg63oo$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/net/URL;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
57-
public static final fun readExcel-ssqQo1E (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/File;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;Z)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
58-
public static final fun readExcel-ssqQo1E (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/InputStream;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;Z)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
59-
public static final fun readExcel-ssqQo1E (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;Z)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
60-
public static final fun readExcel-ssqQo1E (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/net/URL;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;Z)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
61-
public static synthetic fun readExcel-ssqQo1E$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/File;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
62-
public static synthetic fun readExcel-ssqQo1E$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/InputStream;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
63-
public static synthetic fun readExcel-ssqQo1E$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
64-
public static synthetic fun readExcel-ssqQo1E$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/net/URL;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
57+
public static final fun readExcel-Q2e6U8A (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/File;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZ)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
58+
public static final fun readExcel-Q2e6U8A (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/InputStream;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZ)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
59+
public static final fun readExcel-Q2e6U8A (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZ)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
60+
public static final fun readExcel-Q2e6U8A (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/net/URL;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZ)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
61+
public static synthetic fun readExcel-Q2e6U8A$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/File;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
62+
public static synthetic fun readExcel-Q2e6U8A$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/io/InputStream;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
63+
public static synthetic fun readExcel-Q2e6U8A$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
64+
public static synthetic fun readExcel-Q2e6U8A$default (Lorg/jetbrains/kotlinx/dataframe/DataFrame$Companion;Ljava/net/URL;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lorg/jetbrains/kotlinx/dataframe/io/NameRepairStrategy;ZZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
6565
public static final fun toFormattingOptions-lk1XfQA (Ljava/lang/String;Lorg/apache/poi/ss/usermodel/DataFormatter;)Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;
6666
public static synthetic fun toFormattingOptions-lk1XfQA$default (Ljava/lang/String;Lorg/apache/poi/ss/usermodel/DataFormatter;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;
6767
public static final fun writeExcel (Lorg/jetbrains/kotlinx/dataframe/DataFrame;Ljava/io/File;Lkotlin/jvm/functions/Function2;Ljava/lang/String;ZLorg/jetbrains/kotlinx/dataframe/io/WorkBookType;Z)V

dataframe-excel/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/xlsx.kt

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public fun DataFrame.Companion.readExcel(
124124
rowsCount,
125125
nameRepairStrategy,
126126
firstRowIsHeader,
127-
parseEmptyAsNull
127+
parseEmptyAsNull,
128128
)
129129
}
130130
}
@@ -169,7 +169,7 @@ public fun DataFrame.Companion.readExcel(
169169
rowsCount,
170170
nameRepairStrategy,
171171
firstRowIsHeader,
172-
parseEmptyAsNull
172+
parseEmptyAsNull,
173173
)
174174
}
175175
}
@@ -210,7 +210,7 @@ public fun DataFrame.Companion.readExcel(
210210
rowsCount,
211211
nameRepairStrategy,
212212
firstRowIsHeader,
213-
parseEmptyAsNull
213+
parseEmptyAsNull,
214214
)
215215

216216
/**
@@ -252,7 +252,7 @@ public fun DataFrame.Companion.readExcel(
252252
rowsCount,
253253
nameRepairStrategy,
254254
firstRowIsHeader,
255-
parseEmptyAsNull
255+
parseEmptyAsNull,
256256
)
257257
}
258258
}
@@ -288,7 +288,16 @@ public fun DataFrame.Companion.readExcel(
288288
val sheet: Sheet = sheetName
289289
?.let { wb.getSheet(it) ?: error("Sheet with name $sheetName not found") }
290290
?: wb.getSheetAt(0)
291-
return readExcel(sheet, columns, formattingOptions, skipRows, rowsCount, nameRepairStrategy, firstRowIsHeader, parseEmptyAsNull)
291+
return readExcel(
292+
sheet,
293+
columns,
294+
formattingOptions,
295+
skipRows,
296+
rowsCount,
297+
nameRepairStrategy,
298+
firstRowIsHeader,
299+
parseEmptyAsNull,
300+
)
292301
}
293302

294303
/**
@@ -393,8 +402,11 @@ public fun DataFrame.Companion.readExcel(
393402
} else {
394403
cell.cellValue(sheet.sheetName)
395404
}
396-
if (parseEmptyAsNull && rawValue is String && rawValue.isEmpty()) null
397-
else rawValue
405+
if (parseEmptyAsNull && rawValue is String && rawValue.isEmpty()) {
406+
null
407+
} else {
408+
rawValue
409+
}
398410
}
399411
}
400412
val values: List<Any?> = valueRowsRange.map {

dataframe-excel/src/test/kotlin/org/jetbrains/kotlinx/dataframe/io/XlsxTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,8 @@ class XlsxTest {
5656
"Sheet1",
5757
columns = "A:C",
5858
stringColumns = StringColumns("A:C"),
59-
parseEmptyAsNull = false,
6059
)
61-
df shouldBe dataFrameOf("col1", "col2", "C")("1", "", "3")
60+
df shouldBe dataFrameOf("col1", "col2", "C")("1", null, "3")
6261
}
6362

6463
@Test

0 commit comments

Comments
 (0)