From 274bc2d0f7fe8fe7525196e4d7d6ece1cafe2c6c Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期日, 04 二月 2024 17:32:14 +0800
Subject: [PATCH] 1. 新增静安50分制评估结果转换逻辑; 2. 新增根据坐标圆心和半径查询范围内场景逻辑;
---
src/main/kotlin/cn/flightfeather/supervision/common/utils/ExcelUtil.kt | 55 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 44 insertions(+), 11 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/common/utils/ExcelUtil.kt b/src/main/kotlin/cn/flightfeather/supervision/common/utils/ExcelUtil.kt
index 8bb0aeb..f69a607 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/common/utils/ExcelUtil.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/common/utils/ExcelUtil.kt
@@ -2,11 +2,11 @@
import org.apache.poi.hssf.usermodel.HSSFWorkbook
import org.apache.poi.ss.util.CellRangeAddress
-import java.io.File
import java.io.OutputStream
import java.time.LocalDate
import java.util.*
import kotlin.math.max
+
/**
* @author riku
@@ -18,7 +18,8 @@
var text: String,
var rowSpan: Int = 1,
var colSpan: Int = 1,
- var fontColor: Short? = null
+ var fontColor: Short? = null,
+ var isPercent:Boolean = false
)
/**
@@ -88,15 +89,26 @@
when (c) {
is MyCell -> {
rows.createCell(col).apply {
- c.fontColor?.let {fC ->
- val font = workbook.createFont()
+ if (c.isPercent) {
val cellStyle = workbook.createCellStyle()
-
- font.color = fC
- cellStyle.setFont(font)
+ val format = workbook.createDataFormat()
+ cellStyle.dataFormat = format.getFormat("0.0%")
setCellStyle(cellStyle)
+ val v = c.text.toDoubleOrNull()
+ if (v != null) {
+ setCellValue(v)
+ }
+ } else {
+ c.fontColor?.let {fC ->
+ val font = workbook.createFont()
+ val cellStyle = workbook.createCellStyle()
+
+ font.color = fC
+ cellStyle.setFont(font)
+ setCellStyle(cellStyle)
+ }
+ setCellValue(c.text)
}
- setCellValue(c.text)
}
println("write1-1: ${c.text};($rowIndex, ${col})")
}
@@ -150,7 +162,28 @@
when (c) {
is MyCell -> {
- rows.createCell(map.key).setCellValue(c.text)
+ rows.createCell(col).apply {
+ if (c.isPercent) {
+ val cellStyle = workbook.createCellStyle()
+ val format = workbook.createDataFormat()
+ cellStyle.dataFormat = format.getFormat("0.0%")
+ setCellStyle(cellStyle)
+ val v = c.text.toDoubleOrNull()
+ if (v != null) {
+ setCellValue(v)
+ }
+ } else {
+ c.fontColor?.let {fC ->
+ val font = workbook.createFont()
+ val cellStyle = workbook.createCellStyle()
+
+ font.color = fC
+ cellStyle.setFont(font)
+ setCellStyle(cellStyle)
+ }
+ setCellValue(c.text)
+ }
+ }
println("write2-1: ${c.text};($_rowIndex, ${map.key})")
}
is String -> {
@@ -181,11 +214,11 @@
/**
* 鑷姩澶勭悊琛屽悎骞舵暟鎹�
*/
- fun write2(out: OutputStream, heads: List<Array<Any>>, contents: MutableList<Array<Any>>) {
+ fun write2(out: OutputStream, heads: List<Array<Any>>, contents: MutableList<Array<Any>>, sheetName: String = "sheet1") {
val workbook = HSSFWorkbook()
- write(heads, contents, workbook)
+ write(heads, contents, workbook, sheetName)
workbook.write(out)
workbook.close()
--
Gitblit v1.9.3