Kotlin में Excel के साथ काम करें: Apache POI और Kotlin लाइब्रेरी

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Kotlin में Excel के साथ काम करें: Apache POI और Kotlin रैपर

Kotlin, JVM के लिए एक आधुनिक प्रोग्रामिंग भाषा है, जो ऑफिस दस्तावेज़ों के ऑटोमेशन के लिए शानदार सुविधाएँ प्रदान करती है। इस लेख में, हम सीखेंगे कि Kotlin में Excel फ़ाइलों (XLS और XLSX) के साथ कैसे काम करें, लोकप्रिय Apache POI लाइब्रेरी और इसके Kotlin-अनुकूल रैपर Apache POI for Kotlin का उपयोग करके।

Excel के लिए Kotlin क्यों चुनें?

Kotlin, Java की तुलना में अधिक संक्षिप्त और सुरक्षित सिंटैक्स प्रदान करता है, जो Excel के जटिल API के साथ काम करते समय विशेष रूप से उपयोगी है। Kotlin का उपयोग करके आप:

  • बॉयलरप्लेट कोड को कम कर सकते हैं
  • सुरक्षित प्रकार और null-safety का लाभ उठा सकते हैं
  • पठनीयता बढ़ाने के लिए extension-फ़ंक्शन का उपयोग कर सकते हैं
  • मौजूदा Java लाइब्रेरीज़ के साथ आसानी से एकीकृत हो सकते हैं

मुख्य लाइब्रेरी: Apache POI

Apache POI JVM इकोसिस्टम में Microsoft Office दस्तावेज़ों के साथ काम करने का डी-फैक्टो मानक है। यह सपोर्ट करता है:

  • XLS (HSSF) और XLSX (XSSF) को पढ़ना और लिखना
  • फ़ॉर्मूले, स्टाइल और मर्ज की गई कोशिकाओं के साथ काम करना
  • चार्ट और पिवट टेबल बनाना
  • SXSSF (स्ट्रीमिंग) के माध्यम से बड़ी फ़ाइलों को संभालना

Gradle (Kotlin DSL) में जोड़ने के लिए build.gradle.kts में यह कोड डालें:

dependencies {
    implementation("org.apache.poi:poi:5.3.0")
    implementation("org.apache.poi:poi-ooxml:5.3.0")
}

रैपर लाइब्रेरी: Apache POI for Kotlin

POI के साथ काम को आसान बनाने के लिए कई Kotlin रैपर मौजूद हैं। एक लोकप्रिय विकल्प है kotlin-poi (com.github.doyaaaaaken:kotlinpoi)। यह Excel फ़ाइलें बनाने के लिए extension-फ़ंक्शन और DSL-शैली जोड़ता है।

इसे जोड़ने का तरीका:

repositories {
    mavenCentral()
}

dependencies {
    implementation("com.github.doyaaaaaken:kotlinpoi:1.0.0")
}

उदाहरण 1: एक साधारण XLSX फ़ाइल बनाना (शुद्ध POI)

एक शीट वाली वर्कबुक बनाएँ और उसमें डेटा भरें:

import org.apache.poi.xssf.usermodel.XSSFWorkbook
import java.io.FileOutputStream

fun createSimpleExcel() {
    val workbook = XSSFWorkbook()
    val sheet = workbook.createSheet("डेटा")
    
    // हेडर बनाएँ
    val headerRow = sheet.createRow(0)
    headerRow.createCell(0).setCellValue("नाम")
    headerRow.createCell(1).setCellValue("उम्र")
    headerRow.createCell(2).setCellValue("शहर")
    
    // डेटा भरें
    val data = listOf(
        listOf("अन्ना", 28, "मुंबई"),
        listOf("राहुल", 35, "दिल्ली"),
        listOf("प्रिया", 22, "बेंगलुरु")
    )
    
    data.forEachIndexed { index, rowData ->
        val row = sheet.createRow(index + 1)
        rowData.forEachIndexed { cellIndex, value ->
            when (value) {
                is String -> row.createCell(cellIndex).setCellValue(value)
                is Int -> row.createCell(cellIndex).setCellValue(value.toDouble())
                else -> row.createCell(cellIndex).setCellValue(value.toString())
            }
        }
    }
    
    // कॉलम की ऑटो-चौड़ाई
    for (i in 0..2) {
        sheet.autoSizeColumn(i)
    }
    
    // फ़ाइल सेव करें
    FileOutputStream("output.xlsx").use { fileOut ->
        workbook.write(fileOut)
    }
    workbook.close()
    println("फ़ाइल बन गई: output.xlsx")
}

उदाहरण 2: Excel फ़ाइल पढ़ना (शुद्ध POI)

import org.apache.poi.ss.usermodel.WorkbookFactory
import java.io.FileInputStream

fun readExcel(filePath: String) {
    val file = FileInputStream(filePath)
    val workbook = WorkbookFactory.create(file)
    val sheet = workbook.getSheetAt(0)
    
    println("शीट पढ़ी जा रही है: ${sheet.sheetName}")
    println("कुल पंक्तियाँ: ${sheet.physicalNumberOfRows}")
    
    for (row in sheet) {
        val rowData = mutableListOf<String>()
        for (cell in row) {
            rowData.add(cell.to                    

अनुशंसाएँ