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
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")
}
sample.kt
//Erstellen Sie eine XSSF-Arbeitsmappenentität
val workBook = XSSFWorkbook()
//Erstellen Sie eine Excel-Tabelle
val sheet = workBook.createSheet()
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")
sample.kt
val fileOutputStream = FileOutputStream("test.xlsx")
workBook.write(fileOutputStream)
fileOutputStream.close()
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)
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)
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)
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