[JAVA] Apache POI Excel avec Kotlin

Le document officiel Apache POI Excel actuel (https://poi.apache.org/components/spreadsheet/index.html) explique un mélange d'anciennes et de nouvelles méthodes, et de nombreuses parties étaient difficiles à comprendre, voici donc une description fréquemment utilisée. Je l'ai résumé. Langue kotlin

installer

installation gradle

build.gradle


dependencies {
/*Version stable à partir d'août 2020 4.1.2*/

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

  'Pour créer un fichier xlsx, utilisez le poi ci-dessous-ooxml requis'
  compile("org.apache.poi:poi-ooxml:4.1.2")

}

opération de base

Créer une feuille

sample.kt



//Créer une entité de classeur XSSF
val workBook = XSSFWorkbook()

//Créer une feuille Excel
val sheet = workBook.createSheet()
Entrez la valeur dans la cellule spécifiée

sample.kt


//Spécifiez la cellule pour saisir la valeur

//Spécifiez une colonne avec createRow
val row = sheet.createRow(0)

//Spécifiez une ligne avec createCell
val cell = row.createCell(0)

//Remplissez la valeur
cell.setCellValue("tester")
Enregistrer la feuille

sample.kt


val fileOutputStream = FileOutputStream("test.xlsx")

workBook.write(fileOutputStream)

fileOutputStream.close()
résultat

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

Opération appliquée


Spécification de la couleur des cellules

sample.kt


//Créer une instance de style
val style = workBook.createCellStyle()
//Définir la cellule sur jaune
style.fillForegroundColor = (XSSFColor(byteArrayOf(255.toByte(), 255.toByte(), 204.toByte()), null)
//Spécifier le remplissage
style.fillPattern = FillPatternType.SOLID_FOREGROUND
//Styliser la cellule
cell.setCellStyle(style)
résultat

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


Paramètres de police

sample.kt


//Créer une instance de police
val font = workBook.createFont()
//Définir la taille de la police
font.setFontHeightInPoints(16.toShort())
//Définir le type de caractère
font.fontName = "MS P gothique"

val style = workBook.createCellStyle()
//Ajouter des informations de police au style
style.setFont(font)


Mise en forme conditionnelle

Liste des conditions pouvant être définies https://github.com/apache/poi/blob/trunk/src/java/org/apache/poi/ss/usermodel/ComparisonOperator.java

sample.kt


val sheet = workBook.createSheet()

//Générer une instance pour la mise en forme conditionnelle
val sheetCF: SheetConditionalFormatting = sheet.sheetConditionalFormatting

//Définir les conditions: dans ce cas, la valeur est 90%Le suivant
val rule1 = sheetCF.createConditionalFormattingRule(ComparisonOperator.LT, "90%")

//Définissez la police à utiliser dans les conditions ci-dessus(Divers éléments autres que la police peuvent être définis)
val font = rule1.createFontFormatting()
//Définir la police sur rouge
font.fontColor = XSSFColor(byteArrayOf(255.toByte(), 0.toByte(), 0.toByte()), null)

//Définissez la plage de cellules pour laquelle les conditions ci-dessus sont valides(Dans les cas suivants, de la cellule A1 à la cellule A5)
val range = "A1:A5"

//Plusieurs plages peuvent être définies dans le tableau
val regions = arrayOf(
      CellRangeAddress.valueOf(range)
    )

//Activer la condition
sheetCF.addConditionalFormatting(regions, rule1)


Définir la formule dans la cellule

sample.kt



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

//Cellule A1/Créez une formule qui donne le pourcentage de cellules C1
val formula = "A1/C1"

//Définir la formule dans la cellule
cell.cellFormula = formula

//Activer la formule
sheet.setForceFormulaRecalculation(true)

Recommended Posts

Apache POI Excel avec Kotlin
[Apache POI] Version Excel correspondante
Opération Excel avec Apache POI
Manipuler Excel avec Apache POI
Sortie vers Excel en utilisant Apache POI!
Remplacer le texte dans la forme automatique du fichier Excel par Apache POI
HMAC à Kotlin
[Java] Gérer les fichiers Excel avec Apache POI
[Java] Création d'un fichier Excel à l'aide d'Apache POI
Grand décimal à Kotlin
Liste de points addictifs Apache POI
Importer des données Excel avec Java 2
[Java] Obtenir KClass en Java [Kotlin]
apache POI mémo personnel crossfish21
Quoi de neuf dans Apache Camel 2.19.0
Importer des données Excel avec Java 3
Implémentation de HashMap avec kotlin
Transition d'écran à l'aide de l'intention dans Kotlin
Apache Camel à l'ère du cloud natif
exportation courante pour exceller en utilisant poi
Créer un fichier Excel avec POI
Imiter l'interface fonctionnelle de Java avec Kotlin
Comment obtenir une liste de noms de feuilles Excel en Java (POI vs SAX)