From e4f383b48bab4aea7a75904a48027e03ee0ba695 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Tue, 30 May 2023 19:13:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=8A=BD=E5=8F=96=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E6=96=B9=E6=B3=95=E6=8E=92=E9=99=A4=E6=8E=89?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E8=A2=AB=E8=BD=AC=E5=8C=96=E4=B8=BAutf-8?= =?UTF-8?q?=E7=9A=84=E5=AD=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IReportContentServiceImpl.java | 2 +- .../report/service/impl/IReportServiceImpl.java | 2 +- .../com/adc/da/report/util/FileContentUtil.java | 16 +++++++++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportContentServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportContentServiceImpl.java index 55d5519..f34f5fe 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportContentServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportContentServiceImpl.java @@ -109,7 +109,7 @@ public class IReportContentServiceImpl extends ServiceImpl //修改报表内容表(先删后增) iReportContentService.removeByReportId(reportId); try { - iReportContentService.insertReportContent(reportId); log.info("抽取reportId为{}报告内容", reportId); + iReportContentService.insertReportContent(reportId); count++; } catch (IOException e) { log.error("获取reportId为{}的报告内容失败", reportId); diff --git a/adc-da-report/src/main/java/com/adc/da/report/util/FileContentUtil.java b/adc-da-report/src/main/java/com/adc/da/report/util/FileContentUtil.java index ab7f22a..12049d1 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/util/FileContentUtil.java +++ b/adc-da-report/src/main/java/com/adc/da/report/util/FileContentUtil.java @@ -3,6 +3,8 @@ package com.adc.da.report.util; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.nio.charset.CharsetEncoder; +import java.nio.charset.StandardCharsets; import com.adc.da.report.constant.ReportConstants; import lombok.extern.slf4j.Slf4j; @@ -92,9 +94,21 @@ public class FileContentUtil { fis.close(); log.info("文件内容抽取失败,原因可能是上传的文件为空文件"); } - return content.toString(); + return cleanInvalidCharacters(content.toString()); } + public static String cleanInvalidCharacters(String input) { + StringBuilder stringBuilder = new StringBuilder(); + CharsetEncoder encoder = StandardCharsets.UTF_8.newEncoder(); + for (char ch : input.toCharArray()) { + if (encoder.canEncode(ch)) { + stringBuilder.append(ch); + } + } + return stringBuilder.toString(); + } + + private static String readExcelContent(org.apache.poi.ss.usermodel.Workbook workbook) { StringBuilder sb = new StringBuilder(); int numberOfSheets = workbook.getNumberOfSheets();