Kotlin में Excel के साथ कार्य: Apache POI लाइब्रेरीज़ और Kotlin रैपर

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

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

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

Kotlin में Excel के साथ कार्य: Apache POI और रैपर लाइब्रेरीज़



Kotlin, JVM के लिए एक आधुनिक प्रोग्रामिंग भाषा के रूप में, सारणीबद्ध डेटा के साथ काम करने के लिए उत्कृष्ट अवसर प्रदान करता है। हालाँकि Kotlin पारिस्थितिकी तंत्र में .xlsx प्रारूप के लिए मूल समर्थन नहीं है, आप Kotlin सिंटैक्स के अनुकूल सिद्ध Java लाइब्रेरीज़ का उपयोग कर सकते हैं। इस लेख में हम मुख्य उपकरण — Apache POI — और दो लोकप्रिय Kotlin रैपर: poi-kotlin और kotlinpoi पर विचार करेंगे।



1. Apache POI — Excel के साथ कार्य का आधार



Apache POI Microsoft Office प्रारूपों (OLE2 और OOXML) की फ़ाइलों को पढ़ने और लिखने के लिए एक परिपक्व Java लाइब्रेरी है। आधुनिक .xlsx फ़ाइलों के साथ काम करने के लिए poi-ooxml उपमॉड्यूल का उपयोग किया जाता है। build.gradle.kts में निर्भरता जोड़ें:



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


Kotlin में Excel फ़ाइल पढ़ना

पहली शीट से डेटा पढ़ने का उदाहरण:

import org.apache.poi.ss.usermodel.*import org.apache.poi.xssf.usermodel.XSSFWorkbookimport java.io.FileInputStream

fun readExcel(filePath: String) { val file = FileInputStream(filePath) val workbook: Workbook = XSSFWorkbook(file) val sheet: Sheet = workbook.getSheetAt(0)

for (row in sheet) { for (cell in row) { when (cell.cellType) { CellType.STRING -> print("${cell.stringCellValue} ") CellType.NUMERIC -> print("${cell.numericCellValue} ") else -> print(" ") } } println() } workbook.close()}


Excel फ़ाइल बनाना

हैडर के साथ एक सरल तालिका बनाएँ:

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

fun createExcel() { 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("अन्ना", 25, "मॉस्को"), listOf("इवान", 30, "सेंट पीटर्सबर्ग"), listOf("मारिया", 22, "कज़ान") )

data.forEachIndexed { index, rowData -> val row = sheet.createRow(index + 1) rowData.forEachIndexed { cellIndex, value -> row.createCell(cellIndex).setCellValue(value.toString()) } }

workbook.write(FileOutputStream("output.xlsx")) workbook.close()}


2. poi-kotlin लाइब्रेरी — Kotlin-first रैपर



poi-kotlin (संस्करण 0.3.0) Apache POI के ऊपर एक हल्का रैपर है जो Kotlin के लिए विशिष्ट extension-फ़ंक्शन और DSL सिंटैक्स जोड़ता है। स्थापना:



repositories {    maven("https://jitpack.io")}dependencies {    implementation("com.github.nicklausw.poi-kotlin:poi-kotlin:0.3.0")}


poi-kotlin के साथ उदाहरण

import com.github.nicklausw.poi.kotlin.*

fun dslExample() { val workbook = workbook { sheet("रिपोर्ट") { row { cell("उत्पाद") cell("मूल्य") cell("मात्रा") } row { cell("लैपटॉप") cell(1200.0) cell(5) } row { cell("माउस") cell(25.5) cell(10) } } } workbook.writeToFile("report.xlsx")}

कोड अधिक पठनीय हो गया है, और नेस्टेड ब्लॉक sheet { row { ... } } HTML मार्कअप के निर्माण की याद दिलाते हैं।



3. kotlinpoi लाइब्रेरी — कार्यात्मक दृष्टिकोण



kotlinpoi (सं

अनुशंसाएँ