Skip to content

Commit b6fe681

Browse files
committed
solved binary compatibility issues and renamed notEmptyRow to largestRow
1 parent eb85027 commit b6fe681

File tree

4 files changed

+161
-9
lines changed

4 files changed

+161
-9
lines changed

core/api/core.api

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10867,3 +10867,7 @@ public abstract interface class org/jetbrains/kotlinx/dataframe/schema/DataFrame
1086710867
public abstract fun getColumns ()Ljava/util/Map;
1086810868
}
1086910869

10870+
public final class org/jetbrains/kotlinx/dataframe/util/DeprecationMessagesKt {
10871+
public static final field DF_READ_EXCEL Ljava/lang/String;
10872+
}
10873+

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/util/deprecationMessages.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ internal const val CREATE_COLUMN = "This function is just here for binary compat
3838

3939
internal const val GUESS_COLUMN_TYPE = "This function is just here for binary compatibility. $MESSAGE_0_16"
4040

41+
public const val DF_READ_EXCEL: String = "This function is just here for binary compatibility. $MESSAGE_0_16"
4142
// endregion
4243

4344
// region WARNING in 0.16, ERROR in 0.17

dataframe-excel/api/dataframe-excel.api

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,30 @@ public final class org/jetbrains/kotlinx/dataframe/io/WorkBookType : java/lang/E
3838
}
3939

4040
public final class org/jetbrains/kotlinx/dataframe/io/XlsxKt {
41-
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;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
42-
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;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
41+
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;
43+
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;
4345
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;
4447
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;
45-
public static final 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;
46-
public static final 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;
47-
public static final 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;
48-
public static final fun readExcel-CWg63oo (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;)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;
49+
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;
50+
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;
51+
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;
52+
public static final synthetic fun readExcel-CWg63oo (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;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
4953
public static synthetic fun readExcel-CWg63oo$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;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
5054
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;
5155
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;
5256
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;
5365
public static final fun toFormattingOptions-lk1XfQA (Ljava/lang/String;Lorg/apache/poi/ss/usermodel/DataFormatter;)Lorg/jetbrains/kotlinx/dataframe/io/FormattingOptions;
5466
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;
5567
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: 138 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import org.jetbrains.kotlinx.dataframe.api.select
3434
import org.jetbrains.kotlinx.dataframe.codeGen.AbstractDefaultReadMethod
3535
import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadDfMethod
3636
import org.jetbrains.kotlinx.dataframe.exceptions.DuplicateColumnNamesException
37+
import org.jetbrains.kotlinx.dataframe.util.DF_READ_EXCEL
3738
import java.io.File
3839
import java.io.InputStream
3940
import java.io.OutputStream
@@ -332,11 +333,11 @@ public fun DataFrame.Companion.readExcel(
332333
}
333334

334335
else -> {
335-
val notEmptyRow = sheet.rowIterator().asSequence().maxByOrNull { it.lastCellNum }
336-
checkNotNull(notEmptyRow) {
336+
val largestRow = sheet.rowIterator().asSequence().maxByOrNull { it.lastCellNum }
337+
checkNotNull(largestRow) {
337338
"There are no defined cells"
338339
}
339-
notEmptyRow.firstCellNum until notEmptyRow.lastCellNum
340+
largestRow.firstCellNum until largestRow.lastCellNum
340341
}
341342
}
342343

@@ -650,3 +651,137 @@ private fun Cell.setDate(date: JavaDate) {
650651
calStart.time = date
651652
this.setTime(calStart.toInstant().atZone(getUserTimeZone().toZoneId()).toLocalDateTime())
652653
}
654+
655+
// region deprecated
656+
657+
/** For binary compatibility */
658+
@Deprecated(DF_READ_EXCEL, level = DeprecationLevel.HIDDEN)
659+
public fun DataFrame.Companion.readExcel(
660+
url: URL,
661+
sheetName: String? = null,
662+
skipRows: Int = 0,
663+
columns: String? = null,
664+
stringColumns: StringColumns? = null,
665+
rowsCount: Int? = null,
666+
nameRepairStrategy: NameRepairStrategy = NameRepairStrategy.CHECK_UNIQUE,
667+
): AnyFrame =
668+
readExcel(
669+
url = url,
670+
sheetName = sheetName,
671+
skipRows = skipRows,
672+
columns = columns,
673+
stringColumns = stringColumns,
674+
rowsCount = rowsCount,
675+
nameRepairStrategy = nameRepairStrategy,
676+
firstRowIsHeader = true,
677+
)
678+
679+
/** For binary compatibility */
680+
@Deprecated(DF_READ_EXCEL, level = DeprecationLevel.HIDDEN)
681+
public fun DataFrame.Companion.readExcel(
682+
file: File,
683+
sheetName: String? = null,
684+
skipRows: Int = 0,
685+
columns: String? = null,
686+
stringColumns: StringColumns? = null,
687+
rowsCount: Int? = null,
688+
nameRepairStrategy: NameRepairStrategy = NameRepairStrategy.CHECK_UNIQUE,
689+
): AnyFrame =
690+
readExcel(
691+
file = file,
692+
sheetName = sheetName,
693+
skipRows = skipRows,
694+
columns = columns,
695+
stringColumns = stringColumns,
696+
rowsCount = rowsCount,
697+
nameRepairStrategy = nameRepairStrategy,
698+
firstRowIsHeader = true,
699+
)
700+
701+
/** For binary compatibility */
702+
@Deprecated(DF_READ_EXCEL, level = DeprecationLevel.HIDDEN)
703+
public fun DataFrame.Companion.readExcel(
704+
fileOrUrl: String,
705+
sheetName: String? = null,
706+
skipRows: Int = 0,
707+
columns: String? = null,
708+
stringColumns: StringColumns? = null,
709+
rowsCount: Int? = null,
710+
nameRepairStrategy: NameRepairStrategy = NameRepairStrategy.CHECK_UNIQUE,
711+
): AnyFrame =
712+
readExcel(
713+
fileOrUrl = fileOrUrl,
714+
sheetName = sheetName,
715+
skipRows = skipRows,
716+
columns = columns,
717+
stringColumns = stringColumns,
718+
rowsCount = rowsCount,
719+
nameRepairStrategy = nameRepairStrategy,
720+
firstRowIsHeader = true,
721+
)
722+
723+
/** For binary compatibility */
724+
@Deprecated(DF_READ_EXCEL, level = DeprecationLevel.HIDDEN)
725+
public fun DataFrame.Companion.readExcel(
726+
inputStream: InputStream,
727+
sheetName: String? = null,
728+
skipRows: Int = 0,
729+
columns: String? = null,
730+
stringColumns: StringColumns? = null,
731+
rowsCount: Int? = null,
732+
nameRepairStrategy: NameRepairStrategy = NameRepairStrategy.CHECK_UNIQUE,
733+
): AnyFrame =
734+
readExcel(
735+
inputStream = inputStream,
736+
sheetName = sheetName,
737+
skipRows = skipRows,
738+
columns = columns,
739+
stringColumns = stringColumns,
740+
rowsCount = rowsCount,
741+
nameRepairStrategy = nameRepairStrategy,
742+
firstRowIsHeader = true,
743+
)
744+
745+
/** For binary compatibility */
746+
@Deprecated(DF_READ_EXCEL, level = DeprecationLevel.HIDDEN)
747+
public fun DataFrame.Companion.readExcel(
748+
wb: Workbook,
749+
sheetName: String? = null,
750+
skipRows: Int = 0,
751+
columns: String? = null,
752+
formattingOptions: FormattingOptions? = null,
753+
rowsCount: Int? = null,
754+
nameRepairStrategy: NameRepairStrategy = NameRepairStrategy.CHECK_UNIQUE,
755+
): AnyFrame =
756+
readExcel(
757+
wb = wb,
758+
sheetName = sheetName,
759+
skipRows = skipRows,
760+
columns = columns,
761+
formattingOptions = formattingOptions,
762+
rowsCount = rowsCount,
763+
nameRepairStrategy = nameRepairStrategy,
764+
firstRowIsHeader = true,
765+
)
766+
767+
/** For binary compatibility */
768+
@Deprecated(DF_READ_EXCEL, level = DeprecationLevel.HIDDEN)
769+
public fun DataFrame.Companion.readExcel(
770+
sheet: Sheet,
771+
columns: String? = null,
772+
formattingOptions: FormattingOptions? = null,
773+
skipRows: Int = 0,
774+
rowsCount: Int? = null,
775+
nameRepairStrategy: NameRepairStrategy = NameRepairStrategy.CHECK_UNIQUE,
776+
): AnyFrame =
777+
readExcel(
778+
sheet = sheet,
779+
columns = columns,
780+
formattingOptions = formattingOptions,
781+
skipRows = skipRows,
782+
rowsCount = rowsCount,
783+
nameRepairStrategy = nameRepairStrategy,
784+
firstRowIsHeader = true,
785+
)
786+
787+
// endregion

0 commit comments

Comments
 (0)