kotlin-csv
1.0.3indexedLightweight library for handling CSV files with a simple API. Features include multiplatform support, type-safe operations, flexible reading/writing, custom column mapping, and optional header handling.
Lightweight library for handling CSV files with a simple API. Features include multiplatform support, type-safe operations, flexible reading/writing, custom column mapping, and optional header handling.
A lightweight Kotlin Multiplatform library for reading and writing CSV files with a simple, intuitive API. Supports Android, Desktop JVM, and Web (Wasm/JS) platforms.
Add the following dependency to your project:
// Kotlin multiplatform
kotlin {
sourceSets {
commonMain.dependencies {
implementation("com.ryinex.kotlin:csv:<latest-version>")
}
}
}
// Regular kotlin project
dependencies {
implementation("com.ryinex.kotlin:csv:<latest-version>")
}
Kotlin CSV provides a streamlined way to handle CSV files across different platforms. Key features include:
Example usage:
// Creating a CSV file
val csvFile = CsvReadWrite.builder(items, isTitled = true)
.column("Name") { index, item -> item.name }
.column("Age") { index, item -> item.age }
.column("Adult") { index, item -> item.age >= 18 }
.build("output.csv")
// Raw CSV data as string
csvFile.raw()
// Saving CSV file
CsvReadWrite.save(csvFile)
// Reading CSV file
val csvFile = CsvReadWrite.open()
Note for Android Projects:
Initialize CsvReadWrite in your Activity or Fragment if you plan to use open and save filesystem functionalities:
// In Activity
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
CsvReadWrite.bind(this)
}
// In Fragment
override fun onCreateView(/*.....*/): View {
CsvReadWrite.bind()
<VIEW>
}
The binding ensures proper lifecycle management for CSV filesystem operations in your Android application.
java.awt.FileDialog Open Dialog | java.awt.FileDialog Save Dialog |
|---|---|
![]() | ![]() |
Native HTMLInputElement to load files | Native <a> tag to save and download the file |
|---|---|
![]() | ![]() |
Android System Access Framework OpenDocument | Android System Access Framework CreateDocument |
|---|---|
![]() | ![]() |
Apache License 2.0 - See LICENSE for details.
Surfaced from shared tags and platforms — no rankings paid for.