浏览代码

Merge branch 'bug/3580' into debug

Roc 1 年之前
父节点
当前提交
a6032a9d8f

+ 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

@@ -1198,7 +1198,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
 	}

+ 3 - 2
services/data/excel/excel_op.go

@@ -239,8 +239,9 @@ func UpdateExcelInfoFileUrl(excelInfo *excelModel.ExcelInfo) {
 
 	switch excelInfo.Source {
 	case utils.EXCEL_DEFAULT: // 自定义表格
-		luckySheetData, err := excel.GetLuckySheetData(excelInfo.Content)
-		if err != nil {
+		luckySheetData, tmpErr := excel.GetLuckySheetData(excelInfo.Content)
+		if tmpErr != nil {
+			err = tmpErr
 			fmt.Println("err:", err)
 			return
 		}

+ 10 - 5
services/excel/lucky_sheet.go

@@ -119,7 +119,7 @@ type LuckySheetData struct {
 	ScrollLeft        float64       `json:"scrollLeft" description:"左右滚动条位置"`
 	ScrollTop         float64       `json:"scrollTop" description:"上下滚动条位置"`
 	CalcChain         []interface{} `json:"calcChain" description:"公式链"`
-	Status            int64         `json:"status" description:"激活状态"`
+	Status            interface{}   `json:"status" description:"激活状态"`
 	VisibleDataColumn []int64       `json:"visibledatacolumn" description:"所有列的位置信息,递增的列位置数据,初始化无需设置"`
 	VisibleDataRow    []int64       `json:"visibledatarow" description:"所有行的位置信息,递增的行位置数据,初始化无需设置"`
 	ZoomRatio         float64       `json:"zoomRatio" description:"sheet缩放比例"`
@@ -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)
+	}
 
 	// 表格数据
 	{
@@ -757,7 +762,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
 	}
@@ -1197,7 +1202,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
 	}