update at 2023/08/14
This commit is contained in:
77
tools/loadcmxls/loadcmxls.go
Normal file
77
tools/loadcmxls/loadcmxls.go
Normal file
@@ -0,0 +1,77 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/xuri/excelize/v2"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println("========================= OMC loadpmxls startup =========================")
|
||||
fmt.Println("OMC loadpmxls version: %s %s %s", version, buildTime, goVer)
|
||||
|
||||
for _, f := range pfiles {
|
||||
fmt.Println("f:", f)
|
||||
db := yamlConfig.Database
|
||||
sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", db.User, db.Password, db.Host, db.Port, db.Name)
|
||||
XormConnectDatabaseWithUri(sqlStr)
|
||||
LoadCmIntoCmTitle(f)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func LoadCmIntoCmTitle(file string) {
|
||||
fmt.Println("file len:", file, len(file))
|
||||
f, err := excelize.OpenFile(file)
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
list := f.GetSheetList()
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
return
|
||||
}
|
||||
fmt.Println(list)
|
||||
dl := len(yamlConfig.CmFileDir) + 1
|
||||
neType := file[dl : dl+3]
|
||||
fmt.Println("neType:", neType)
|
||||
objectMap := make(map[string]string, 0)
|
||||
for _, s := range list {
|
||||
|
||||
if s[0] == 'I' {
|
||||
rows, _ := f.GetRows(s)
|
||||
for _, row := range rows[1:] {
|
||||
// fmt.Println("row:", row)
|
||||
if len(row) > 1 {
|
||||
fmt.Println("row[0]:", row[0], "row[1]", row[1])
|
||||
objectMap[row[0]] = row[1]
|
||||
}
|
||||
}
|
||||
fmt.Println("objectMap:", objectMap)
|
||||
}
|
||||
if s[0] == 'A' {
|
||||
rows, _ := f.GetRows(s)
|
||||
var code, desc, object string
|
||||
object = objectMap[s]
|
||||
fmt.Println("object:", object, "s:", s)
|
||||
for _, row := range rows[1:] {
|
||||
if row[0] != "" {
|
||||
code = row[0]
|
||||
}
|
||||
if len(row) > 4 && row[4] != "" {
|
||||
desc = row[4]
|
||||
}
|
||||
cmEn := strings.Replace(row[2], " ", "", -1)
|
||||
cmEn = strings.Replace(cmEn, "\n", "", -1)
|
||||
cmCn := strings.Replace(row[3], " ", "", -1)
|
||||
cmCn = strings.Replace(cmCn, "\n", "", -1)
|
||||
cmTitle := CmTitle{neType, object, code, cmEn, cmCn, desc}
|
||||
fmt.Println("cmTitle:", cmTitle)
|
||||
XormInsertCmTitle(&cmTitle)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user