Skip to content

Commit 3f10397

Browse files
committed
Move excel support to dataframe-spreadsheets module
1 parent 96ade7d commit 3f10397

File tree

18 files changed

+52
-10
lines changed

18 files changed

+52
-10
lines changed

build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ dependencies {
4040
api(libs.commonsCsv)
4141
implementation(libs.klaxon)
4242
implementation(libs.fuel)
43-
implementation(libs.poi)
44-
implementation(libs.poi.ooxml)
4543

4644
implementation(libs.kotlin.datetimeJvm)
4745
implementation("com.squareup:kotlinpoet:1.11.0")
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
plugins {
2+
kotlin("jvm")
3+
kotlin("libs.publisher")
4+
}
5+
6+
group = "org.jetbrains.kotlinx"
7+
8+
repositories {
9+
mavenCentral()
10+
}
11+
12+
dependencies {
13+
api(project(":"))
14+
implementation(libs.poi)
15+
implementation(libs.poi.ooxml)
16+
17+
implementation(libs.kotlin.datetimeJvm)
18+
19+
testImplementation(libs.junit)
20+
testImplementation(libs.kotestAssertions) {
21+
exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk8")
22+
}
23+
}
24+
25+
kotlinPublications {
26+
publication {
27+
publicationName.set("dataframeSpreadsheets")
28+
artifactId.set(project.name)
29+
description.set("Spreadsheets support for Kotlin Dataframe")
30+
packageName.set(artifactId)
31+
}
32+
}
33+
34+
kotlin {
35+
explicitApi()
36+
}

src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/xlsx.kt renamed to dataframe-spreadsheets/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/xlsx.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ import org.jetbrains.kotlinx.dataframe.DataFrame
2323
import org.jetbrains.kotlinx.dataframe.api.dataFrameOf
2424
import org.jetbrains.kotlinx.dataframe.api.forEach
2525
import org.jetbrains.kotlinx.dataframe.api.select
26+
import org.jetbrains.kotlinx.dataframe.codeGen.AbstractDefaultReadMethod
2627
import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadDfMethod
27-
import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadExcelMethod
2828
import java.io.File
2929
import java.io.InputStream
3030
import java.io.OutputStream
@@ -48,6 +48,10 @@ public class Excel : SupportedFormat {
4848
}
4949
}
5050

51+
internal class DefaultReadExcelMethod(path: String?) : AbstractDefaultReadMethod(path, MethodArguments.EMPTY, readExcel)
52+
53+
private const val readExcel = "readExcel"
54+
5155
public fun DataFrame.Companion.readExcel(
5256
url: URL,
5357
sheetName: String? = null,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
org.jetbrains.kotlinx.dataframe.io.Excel

src/test/kotlin/org/jetbrains/kotlinx/dataframe/io/XlsxTest.kt renamed to dataframe-spreadsheets/src/test/kotlin/org/jetbrains/kotlinx/dataframe/io/XlsxTest.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@ import org.jetbrains.kotlinx.dataframe.DataFrame
77
import org.jetbrains.kotlinx.dataframe.api.concat
88
import org.jetbrains.kotlinx.dataframe.api.dataFrameOf
99
import org.jetbrains.kotlinx.dataframe.api.toColumn
10-
import org.jetbrains.kotlinx.dataframe.testResource
1110
import org.junit.Test
11+
import java.net.URL
1212
import java.nio.file.Files
1313
import kotlin.reflect.typeOf
1414

1515
class XlsxTest {
1616

17+
fun testResource(resourcePath: String): URL = this::class.java.classLoader.getResource(resourcePath)!!
18+
1719
@Test
1820
fun `numerical columns`() {
1921
DataFrame.readExcel(testResource("sample.xls"), "Sheet1") shouldBe dataFrameOf("col1", "col2")(1.0, 2.0)

0 commit comments

Comments
 (0)