Browse Source

fix:自定义分析的表格,不需要移除上下空白行列

Roc 1 year ago
parent
commit
bd075f28f3

+ 0 - 1
controllers/data_manage/excel/custom_analysis_edb.go

@@ -409,7 +409,6 @@ func (c *CustomAnalysisController) EdbRefresh() {
 		c.Data["json"] = br
 		c.ServeJSON()
 	}()
-
 	excelInfoId, _ := c.GetInt("ExcelInfoId")
 	if excelInfoId <= 0 {
 		br.Msg = "请选择excel"

+ 1 - 1
controllers/data_manage/excel/excel_info.go

@@ -1152,7 +1152,7 @@ func (c *ExcelInfoController) GetExcelTableData() {
 			br.ErrMsg = "获取excel数据失败,Err:" + err.Error()
 			return
 		}
-		tableData, err = luckySheetData.GetTableDataByLuckySheetDataStr()
+		tableData, err = luckySheetData.GetTableDataByLuckySheetDataStr(true)
 		if err != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "转换成table失败,Err:" + err.Error()

+ 6 - 2
services/data/excel/custom_analysis_edb.go

@@ -83,7 +83,7 @@ func GenerateExcelCustomAnalysisExcel(excelInfo *excel.ExcelInfo) (downloadFileP
 		return
 	}
 
-	downloadFilePath, err = luckySheet.ToExcel()
+	downloadFilePath, err = luckySheet.ToExcel(false)
 
 	return
 }
@@ -116,6 +116,8 @@ func HandleEdbSequenceVal(dateSequenceVal, dataSequenceVal []string) (newDateLis
 
 			v = strings.Replace(v, ",", "", -1)
 			v = strings.Replace(v, ",", "", -1)
+			// 过滤空格
+			v = strings.Replace(v, " ", "", -1)
 			tmpValDec, tmpErr := decimal.NewFromString(v)
 			if tmpErr != nil {
 				if startData {
@@ -150,6 +152,8 @@ func HandleEdbSequenceVal(dateSequenceVal, dataSequenceVal []string) (newDateLis
 				continue
 			}
 
+			// 过滤空格
+			v = strings.Replace(v, " ", "", -1)
 			t1, tmpErr := dateparse.ParseAny(v)
 			if tmpErr != nil {
 				if startData {
@@ -222,7 +226,7 @@ func Refresh(excelInfo *excel.ExcelInfo) (err error, errMsg string, isSendEmail
 	}
 
 	// 获取excel表格数据
-	xlsxFile, err := luckySheet.GetExcelData()
+	xlsxFile, err := luckySheet.GetExcelData(false)
 	if err != nil {
 		return
 	}

+ 13 - 8
services/excel/lucky_sheet.go

@@ -481,7 +481,7 @@ func (tableData TableData) WriteExcelSheetData(xlsxFile *xlsx.File, sheetName st
 }
 
 // GetTableDataByLuckySheetDataStr 通过LuckySheet的string数据获取表格数据
-func (item *LuckySheetData) GetTableDataByLuckySheetDataStr() (selfTableData TableData, err error) {
+func (item *LuckySheetData) GetTableDataByLuckySheetDataStr(isRemoveBlankCell bool) (selfTableData TableData, err error) {
 	luckySheetCellDataList := item.CellData
 	// 表格数据
 	tableDataMap := make(map[int64]map[int64]LuckySheetDataValue)
@@ -562,8 +562,13 @@ func (item *LuckySheetData) GetTableDataByLuckySheetDataStr() (selfTableData Tab
 		tableDataList = append(tableDataList, tmpTableColDataList)
 	}
 
+	tableDataMergeList := make([]TableDataMerge, 0)
+	tableRemoveNum := TableRemoveNum{}
+
 	// 数据处理,移除上下左右空行空列
-	tableDataList, tableRemoveNum, rowHeightList, rowWidthList, tableDataMergeList := handleTableDataList(tableDataList, item.Config.Merge, rowHeightList, rowWidthList)
+	if isRemoveBlankCell {
+		tableDataList, tableRemoveNum, rowHeightList, rowWidthList, tableDataMergeList = handleTableDataList(tableDataList, item.Config.Merge, rowHeightList, rowWidthList)
+	}
 
 	// 表格数据
 	{
@@ -761,7 +766,7 @@ func handleTableDataList(tableDataList [][]LuckySheetDataValue, luckySheetDataCo
 
 // ToExcel 通过 luckySheetData生成excel表格
 func (item *LuckySheetData) ToExcel() (downloadFilePath string, err error) {
-	tableData, err := item.GetTableDataByLuckySheetDataStr()
+	tableData, err := item.GetTableDataByLuckySheetDataStr(true)
 	if err != nil {
 		return
 	}
@@ -898,10 +903,10 @@ var LuckyFontFamilyMap = map[int]string{
 	2:  "Tahoma",
 	3:  "Verdana",
 	4:  "微软雅黑",
-	5:  "宋体",  //宋体(Song)、
-	6:  "黑体",  // 黑体(ST Heiti)
-	7:  "楷体",  //楷体(ST Kaiti),
-	8:  "仿宋",  //仿宋(ST FangSong),
+	5:  "宋体",   //宋体(Song)、
+	6:  "黑体",   // 黑体(ST Heiti)
+	7:  "楷体",   //楷体(ST Kaiti),
+	8:  "仿宋",   //仿宋(ST FangSong),
 	9:  "新宋体", //新宋体(ST Song),
 	10: "华文新魏",
 	11: "华文行楷",
@@ -1201,7 +1206,7 @@ func (item *LuckySheetData) GetTableDataByLuckySheetDataStrBak() (selfTableData
 }
 
 func (item *LuckySheetData) ToExcel2() (downloadFilePath string, err error) {
-	tableData, err := item.GetTableDataByLuckySheetDataStr()
+	tableData, err := item.GetTableDataByLuckySheetDataStr(true)
 
 	downloadFilePath, err = getDownloadPath()
 	if err != nil {

+ 4 - 4
services/excel/lucky_sheet_excel.go

@@ -7,14 +7,14 @@ type LuckySheet struct {
 }
 
 // GetExcelData 通过 luckySheetData获取excel表格数据
-func (item *LuckySheet) GetExcelData() (xlsxFile *xlsx.File, err error) {
+func (item *LuckySheet) GetExcelData(isRemoveBlankCell bool) (xlsxFile *xlsx.File, err error) {
 	xlsxFile = xlsx.NewFile()
 	if err != nil {
 		return
 	}
 
 	for _, sheet := range item.SheetList {
-		tableData, tmpErr := sheet.GetTableDataByLuckySheetDataStr()
+		tableData, tmpErr := sheet.GetTableDataByLuckySheetDataStr(isRemoveBlankCell)
 		if tmpErr != nil {
 			err = tmpErr
 			return
@@ -29,7 +29,7 @@ func (item *LuckySheet) GetExcelData() (xlsxFile *xlsx.File, err error) {
 }
 
 // ToExcel 通过 luckySheetData生成excel表格文件
-func (item *LuckySheet) ToExcel() (downloadFilePath string, err error) {
+func (item *LuckySheet) ToExcel(isRemoveBlankCell bool) (downloadFilePath string, err error) {
 	// 获取生成的excel路径
 	downloadFilePath, err = getDownloadPath()
 	if err != nil {
@@ -37,7 +37,7 @@ func (item *LuckySheet) ToExcel() (downloadFilePath string, err error) {
 	}
 
 	// 获取excel表格数据
-	xlsxFile, err := item.GetExcelData()
+	xlsxFile, err := item.GetExcelData(isRemoveBlankCell)
 	if err != nil {
 		return
 	}