From 01ac08186355e85cab4a7c6f4403180184894f23 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期六, 09 十月 2021 14:38:44 +0800
Subject: [PATCH] 1. 新增网格化数据统计功能

---
 src/main/kotlin/com/flightfeather/uav/common/utils/ExcelUtil.kt |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/common/utils/ExcelUtil.kt b/src/main/kotlin/com/flightfeather/uav/common/utils/ExcelUtil.kt
index c9c6086..0eb806e 100644
--- a/src/main/kotlin/com/flightfeather/uav/common/utils/ExcelUtil.kt
+++ b/src/main/kotlin/com/flightfeather/uav/common/utils/ExcelUtil.kt
@@ -2,6 +2,7 @@
 
 import org.apache.poi.hssf.usermodel.HSSFWorkbook
 import org.apache.poi.ss.util.CellRangeAddress
+import org.apache.poi.xssf.streaming.SXSSFWorkbook
 import java.time.LocalDate
 import java.util.*
 import kotlin.math.max
@@ -24,7 +25,7 @@
     /**
      * 鑷姩澶勭悊琛屽悎骞舵暟鎹�
      */
-    fun write2(heads: List<String>, contents: List<Array<Any>>, workbook: HSSFWorkbook, sheetName:String) {
+    fun write2(heads: List<String>, contents: List<Array<Any>>, workbook: SXSSFWorkbook, sheetName:String) {
 
         val sheet = workbook.createSheet(sheetName)
 
@@ -152,12 +153,12 @@
     /**
      * 鑷姩澶勭悊琛屽悎骞舵暟鎹�
      */
-    fun write(heads: List<Array<String>>, contents: List<Array<Any>>, workbook: HSSFWorkbook, sheetName: String = "sheet1") {
+    fun write(heads: List<Array<String>>, contents: List<Array<Any>>, workbook: SXSSFWorkbook, sheetName: String = "sheet1", row: Int = 0): Int {
 
-        val sheet = workbook.createSheet(sheetName)
-        println("sheet: $sheetName")
+        val sheet = workbook.getSheet(sheetName)?: workbook.createSheet(sheetName)
+//        println("sheet: $sheetName")
 
-        var rowIndex = 0
+        var rowIndex = row
 
         heads.forEach {
             val rows = sheet.createRow(rowIndex)
@@ -202,7 +203,7 @@
                             cell[0]
                         }
                     } else {
-                        //褰撴暟鎹笉鏄暟缁勬椂锛岄渶瑕佹寜鏈�澶ц鏁板悎骞跺崟鍏冩牸
+                        //褰撴暟鎹笉鏄暟缁勬椂锛屾牴鎹缃悎骞�
                         if (cell is MyCell) {
                             rowspan = cell.rowSpan
                             colSpan = cell.colSpan
@@ -216,7 +217,7 @@
                 when (c) {
                     is MyCell -> {
                         rows.createCell(col).apply {
-                            c.fontColor?.let {fC ->
+                            c.fontColor?.let { fC ->
                                 val font = workbook.createFont()
                                 val cellStyle = workbook.createCellStyle()
 
@@ -299,6 +300,7 @@
 //        workbook.close()
 //        out.flush()
 //        out.close()
+        return rowIndex
     }
 
     private fun getMaxRows(rowArray: Array<Any>): Int {

--
Gitblit v1.9.3