[JAVA] Apache POI Excel mit Kotlin

Das aktuelle offizielle Apache POI Excel-Dokument (https://poi.apache.org/components/spreadsheet/index.html) erklärt eine Mischung aus alten und neuen Methoden, und es gab viele Teile, die schwer zu verstehen waren. Hier ist eine häufig verwendete Beschreibung. Ich habe es zusammengefasst. Sprache Kotlin

installieren

Gradle-Installation

build.gradle


dependencies {
/*Stabile Version ab August 2020 4.1.2*/

 'ApachePOI'
  compile("org.apache.poi:poi:4.1.2")

  'Verwenden Sie das folgende Poi, um eine XLSX-Datei zu erstellen-ooxml erforderlich'
  compile("org.apache.poi:poi-ooxml:4.1.2")

}

Grundbetrieb

Ein Blatt erstellen

sample.kt



//Erstellen Sie eine XSSF-Arbeitsmappenentität
val workBook = XSSFWorkbook()

//Erstellen Sie eine Excel-Tabelle
val sheet = workBook.createSheet()
Geben Sie den Wert in die angegebene Zelle ein

sample.kt


//Geben Sie die Zelle an, in die der Wert eingegeben werden soll

//Geben Sie mit createRow eine Spalte an
val row = sheet.createRow(0)

//Geben Sie mit createCell eine Zeile an
val cell = row.createCell(0)

//Geben Sie den Wert ein
cell.setCellValue("Prüfung")
Blatt speichern

sample.kt


val fileOutputStream = FileOutputStream("test.xlsx")

workBook.write(fileOutputStream)

fileOutputStream.close()
Ergebnis

スクリーンショット 2020-08-15 22.44.33.png

Angewandter Betrieb


Zellfarbspezifikation

sample.kt


//Erstellen Sie eine Stilinstanz
val style = workBook.createCellStyle()
//Stellen Sie die Zelle auf gelb
style.fillForegroundColor = (XSSFColor(byteArrayOf(255.toByte(), 255.toByte(), 204.toByte()), null)
//Geben Sie die Füllung an
style.fillPattern = FillPatternType.SOLID_FOREGROUND
//Gestalte die Zelle
cell.setCellStyle(style)
Ergebnis

スクリーンショット 2020-08-16 16.25.52.png


Schriftarteinstellungen

sample.kt


//Erstellen Sie eine Schriftinstanz
val font = workBook.createFont()
//Stellen Sie die Schriftgröße ein
font.setFontHeightInPoints(16.toShort())
//Zeichentyp einstellen
font.fontName = "MS P Gothic"

val style = workBook.createCellStyle()
//Fügen Sie dem Stil Schriftinformationen hinzu
style.setFont(font)


Bedingte Formatierung

Liste der Bedingungen, die eingestellt werden können https://github.com/apache/poi/blob/trunk/src/java/org/apache/poi/ss/usermodel/ComparisonOperator.java

sample.kt


val sheet = workBook.createSheet()

//Generieren Sie eine Instanz für die bedingte Formatierung
val sheetCF: SheetConditionalFormatting = sheet.sheetConditionalFormatting

//Bedingungen festlegen: In diesem Fall beträgt der Wert 90%Folgende
val rule1 = sheetCF.createConditionalFormattingRule(ComparisonOperator.LT, "90%")

//Stellen Sie die Schriftart ein, die unter den oben genannten Bedingungen verwendet werden soll(Verschiedene andere Elemente als die Schriftart können eingestellt werden)
val font = rule1.createFontFormatting()
//Stellen Sie die Schriftart auf Rot
font.fontColor = XSSFColor(byteArrayOf(255.toByte(), 0.toByte(), 0.toByte()), null)

//Legen Sie den Zellenbereich fest, für den die oben genannten Bedingungen gelten(In den folgenden Fällen von Zelle A1 zu Zelle A5)
val range = "A1:A5"

//Im Array können mehrere Bereiche festgelegt werden
val regions = arrayOf(
      CellRangeAddress.valueOf(range)
    )

//Bedingung aktivieren
sheetCF.addConditionalFormatting(regions, rule1)


Formel in Zelle einstellen

sample.kt



val sheet = workBook.createSheet()
val row = sheet.createRow(0)
val cell = row.createCell(0)

//A1 Zelle/Erstellen Sie eine Formel, die den Prozentsatz der C1-Zellen angibt
val formula = "A1/C1"

//Formel in Zelle einstellen
cell.cellFormula = formula

//Aktivieren Sie die Formel
sheet.setForceFormulaRecalculation(true)

Recommended Posts

Apache POI Excel mit Kotlin
[Apache POI] Entsprechende Excel-Version
Excel-Operation mit Apache POI
Bearbeiten Sie Excel mit Apache POI
Ausgabe nach Excel mit Apache POI!
Ersetzen Sie Text in der AutoShape of Excel-Datei durch Apache POI
HMAC in Kotlin
[Java] Behandeln Sie Excel-Dateien mit Apache POI
[Java] Erstellen einer Excel-Datei mit Apache POI
Große Dezimalstelle in Kotlin
Apache POI Addictive Point List
Importieren Sie Excel-Daten mit Java 2
[Java] KClass in Java herunterladen [Kotlin]
Apache POI persönliches Memo Crossfish21
Was ist neu in Apache Camel 2.19.0?
Importieren Sie Excel-Daten mit Java 3
Implementierung von HashMap mit Kotlin
Bildschirmübergang mit Intent in Kotlin
Apache Camel in der Cloud-Ära
gemeinsamer Export, um mit Poi zu übertreffen
Erstellen Sie eine Excel-Datei mit poi
Nachahmung der funktionalen Schnittstelle von Java mit Kotlin
So erhalten Sie eine Liste mit Excel-Blattnamen in Java (POI vs SAX)