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

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

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

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

Kotlin में Excel के साथ कार्य: लाइब्रेरी का अवलोकन और व्यावहारिक उदाहरण



Kotlin, एक आधुनिक JVM भाषा के रूप में, Java पारिस्थितिकी तंत्र के साथ उत्कृष्ट संगतता रखता है। Excel फ़ाइलों (.xls और .xlsx) के साथ कार्य करने के लिए सबसे शक्तिशाली और व्यापक समाधान Apache POI लाइब्रेरी है। यह Microsoft Office दस्तावेज़ बनाने, पढ़ने और संशोधित करने की अनुमति देती है। इस लेख में, हम देखेंगे कि Kotlin में Apache POI का उपयोग कैसे करें, साथ ही कोड को सरल बनाने वाले विशेष Kotlin रैपर से भी परिचित होंगे।



1. Kotlin प्रोजेक्ट में Apache POI को जोड़ना



build.gradle.kts फ़ाइल में निर्भरताएँ जोड़ें (Gradle Kotlin DSL के लिए):



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


Maven के लिए संबंधित poi और poi-ooxml आर्टिफैक्ट का उपयोग करें।



महत्वपूर्ण: .xlsx (Office Open XML) फ़ॉर्मेट के साथ कार्य करने के लिए poi-ooxml आवश्यक है, जबकि poi पुराने .xls (HSSF) के लिए है।


2. Kotlin में Excel फ़ाइल (XLSX) बनाना और लिखना



एक शीट के साथ एक सरल कार्यपुस्तिका बनाएँ और डेटा लिखें।



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

fun createExcel() { val workbook = XSSFWorkbook() val sheet = workbook.createSheet("कर्मचारी")

// शीर्षक val headerRow = sheet.createRow(0) val headers = listOf("आईडी", "नाम", "पद", "वेतन") headers.forEachIndexed { index, header -> headerRow.createCell(index).setCellValue(header) }

// डेटा val data = listOf( listOf(1, "इवान पेत्रोव", "डेवलपर", 120000.0), listOf(2, "मारिया स्मिर्नोवा", "विश्लेषक", 95000.0), listOf(3, "अलेक्से कुज़नेत्सोव", "परीक्षक", 85000.0) )

data.forEachIndexed { rowIndex, rowData -> val row = sheet.createRow(rowIndex + 1) rowData.forEachIndexed { colIndex, value -> when (value) { is Int -> row.createCell(colIndex).setCellValue(value.toDouble()) is Double -> row.createCell(colIndex).setCellValue(value) is String -> row.createCell(colIndex).setCellValue(value) } } }

// कॉलम की ऑटो-चौड़ाई for (i in headers.indices) { sheet.autoSizeColumn(i) }

// सहेजना FileOutputStream("employees.xlsx").use { stream -> workbook.write(stream) } println("फ़ाइल बनाई गई: employees.xlsx")}


मुख्य बिंदु:

  • XSSFWorkbook — .xlsx (XSSF) के साथ कार्य करने के लिए क्लास। .xls के लिए HSSFWorkbook का उपयोग करें।
  • पंक्तियाँ और सेल 0 से इंडेक्स होते हैं।
  • autoSizeColumn स्वचालित रूप से कॉलम की चौड़ाई को सामग्री के अनुसार समायोजित करता है।
  • Kotlin में स्ट्रीम को स्वचालित रूप से बंद करने के लिए use का उपयोग करना सुविधाजनक है।


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



पहले बनाई गई फ़ाइल को पढ़ें और डेटा को कंसोल पर प्रदर्शित करें।



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

fun readExcel() { FileInputStream("employees.xlsx").use { stream -> val workbook = XSSFWorkbook(stream) val sheet = workbook.getSheetAt(0)

for (row in sheet) { for (cell in row) { when (cell.cellType) { CellType.STRING -> print("${cell.stringCellValue}\\t") CellType.NUMERIC -> print("${cell.numericCellValue}\\t") CellType.BOOLEAN -> print("${cell.booleanCellValue}\\t") else -> print("?\\t") } } println() } }}


ध्यान दें कि प्र

अनुशंसाएँ