diff --git a/dataframe-excel/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/xlsx.kt b/dataframe-excel/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/xlsx.kt index ba114a5100..58807cc785 100644 --- a/dataframe-excel/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/xlsx.kt +++ b/dataframe-excel/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/xlsx.kt @@ -158,7 +158,7 @@ public fun DataFrame.Companion.readExcel( } } } else { - sheet.getRow(0).map { it.columnIndex } + sheet.getRow(skipRows).map { it.columnIndex } } val headerRow = sheet.getRow(skipRows) diff --git a/dataframe-excel/src/test/kotlin/org/jetbrains/kotlinx/dataframe/io/XlsxTest.kt b/dataframe-excel/src/test/kotlin/org/jetbrains/kotlinx/dataframe/io/XlsxTest.kt index 02a17b56d5..f1795b2a94 100644 --- a/dataframe-excel/src/test/kotlin/org/jetbrains/kotlinx/dataframe/io/XlsxTest.kt +++ b/dataframe-excel/src/test/kotlin/org/jetbrains/kotlinx/dataframe/io/XlsxTest.kt @@ -84,4 +84,10 @@ class XlsxTest { val df = DataFrame.readExcel(testResource("custom_header_position.xlsx"), skipRows = 1) df.columnNames() shouldBe listOf("header1", "header2") } + + @Test + fun `consider skipRows when obtaining column indexes`() { + val df = DataFrame.readExcel(testResource("header.xlsx"), skipRows = 6) + df.columnNames() shouldBe listOf("Well", "Well Position", "Omit", "Sample Name", "Target Name", "Task", "Reporter", "Quencher") + } } diff --git a/dataframe-excel/src/test/resources/header.xlsx b/dataframe-excel/src/test/resources/header.xlsx new file mode 100644 index 0000000000..fcb2d012ab Binary files /dev/null and b/dataframe-excel/src/test/resources/header.xlsx differ