|
@@ -1,19 +1,19 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
- "fmt"
|
|
|
- "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
- "github.com/xuri/excelize/v2"
|
|
|
"eta/mysteel_watch/global"
|
|
|
"eta/mysteel_watch/utils"
|
|
|
"eta/mysteel_watch/watch"
|
|
|
+ "fmt"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "github.com/xuri/excelize/v2"
|
|
|
"os"
|
|
|
"strconv"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
const (
|
|
|
- IndexPageSize = 150 //单个Sheet页,指标个数
|
|
|
+ IndexPageSize = 100 //单个Sheet页,指标个数
|
|
|
)
|
|
|
|
|
|
// Merge 合并指标
|
|
@@ -130,22 +130,30 @@ func indexMergeV2(frequency, startDate, endDate, filePre string) (err error) {
|
|
|
}
|
|
|
|
|
|
fileName := filePre + ".xlsx" //保存的文件名称
|
|
|
- templatePath := global.CONFIG.Serve.IndexSaveDir + "index_template.xlsx"
|
|
|
- templateFile, tmpErr := excelize.OpenFile(templatePath)
|
|
|
- if tmpErr != nil {
|
|
|
- fmt.Println("打开文件失败,Err:" + tmpErr.Error())
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
+ //templatePath := global.CONFIG.Serve.IndexSaveDir + "index_template.xlsx"
|
|
|
+ //templateFile, tmpErr := excelize.OpenFile(templatePath)
|
|
|
+ //if tmpErr != nil {
|
|
|
+ // fmt.Println("打开文件失败,Err:" + tmpErr.Error())
|
|
|
+ // err = tmpErr
|
|
|
+ // return
|
|
|
+ //}
|
|
|
|
|
|
mergeIndexFilePath := global.CONFIG.Serve.IndexMergeSaveDir + fileName
|
|
|
|
|
|
- if utils.FileIsExist(mergeIndexFilePath) { //修改文件
|
|
|
- err = os.Remove(mergeIndexFilePath)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("os.Remove Err:" + err.Error() + "; mergeIndexFilePath:" + mergeIndexFilePath)
|
|
|
- return err
|
|
|
+ templateFile := excelize.NewFile()
|
|
|
+ defer func() {
|
|
|
+ if err := templateFile.Close(); err != nil {
|
|
|
+ fmt.Println("templateFile.Close() err:" + err.Error())
|
|
|
}
|
|
|
+ }()
|
|
|
+
|
|
|
+ if utils.FileIsExist(mergeIndexFilePath) { //修改文件
|
|
|
+ //err = os.Remove(mergeIndexFilePath)
|
|
|
+ //if err != nil {
|
|
|
+ // fmt.Println("os.Remove Err:" + err.Error() + "; mergeIndexFilePath:" + mergeIndexFilePath)
|
|
|
+ // return err
|
|
|
+ //}
|
|
|
+ os.Remove(mergeIndexFilePath)
|
|
|
}
|
|
|
|
|
|
// 除去第一个excel表的剩余需要添加的指标数量
|
|
@@ -155,7 +163,7 @@ func indexMergeV2(frequency, startDate, endDate, filePre string) (err error) {
|
|
|
totalPage = totalPage + 1 //需要加上除去在外面的指标(第一张excel)
|
|
|
fmt.Println("total:", total)
|
|
|
fmt.Println("totalPage:", totalPage)
|
|
|
- sheetMap := make(map[string]string)
|
|
|
+ //sheetMap := make(map[string]string)
|
|
|
for i := 1; i <= totalPage; i++ { //sheet
|
|
|
startSize := paging.StartIndex(i, IndexPageSize)
|
|
|
// 当下需要合并到excel的指标
|
|
@@ -176,11 +184,9 @@ func indexMergeV2(frequency, startDate, endDate, filePre string) (err error) {
|
|
|
fmt.Println("Sheet" + strconv.Itoa(i))
|
|
|
|
|
|
sheetName := "Sheet" + strconv.Itoa(i)
|
|
|
- sheetMap[sheetName] = sheetName
|
|
|
- if i > 1 {
|
|
|
- templateFile.NewSheet(sheetName)
|
|
|
- }
|
|
|
-
|
|
|
+ //sheetMap[sheetName] = sheetName
|
|
|
+ templateFile.NewSheet(sheetName)
|
|
|
+ templateFile.SetCellStr(sheetName, "A1", "钢联数据")
|
|
|
templateFile.DeleteComment(sheetName, "A1")
|
|
|
templateFile.AddComment(sheetName, "A1", commentResult)
|
|
|
|
|
@@ -189,19 +195,19 @@ func indexMergeV2(frequency, startDate, endDate, filePre string) (err error) {
|
|
|
//AddIndexRefreshToLpush(mergeIndexFilePath)
|
|
|
}
|
|
|
|
|
|
- sheetList := templateFile.GetSheetList()
|
|
|
- for _, v := range sheetList {
|
|
|
- if _, ok := sheetMap[v]; !ok {
|
|
|
- templateFile.DeleteSheet(v)
|
|
|
- }
|
|
|
- }
|
|
|
+ //sheetList := templateFile.GetSheetList()
|
|
|
+ //for _, v := range sheetList {
|
|
|
+ // //if _, ok := sheetMap[v]; !ok {
|
|
|
+ // // templateFile.DeleteSheet(v)
|
|
|
+ // //}
|
|
|
+ //}
|
|
|
|
|
|
if err = templateFile.SaveAs(mergeIndexFilePath); err != nil {
|
|
|
fmt.Println("保存失败,Err:" + err.Error())
|
|
|
templateFile.Close()
|
|
|
return
|
|
|
}
|
|
|
- templateFile.Close()
|
|
|
+ defer templateFile.Close()
|
|
|
time.Sleep(1 * time.Second)
|
|
|
MysteelChemicalRefresh(mergeIndexFilePath)
|
|
|
return
|