从xls

时间:2018-03-13 01:40:40

标签: excel go xls

我在xls文件中有12000行数据,我想读取解析,并将这些数据插入数据库。我使用extrame/xls库来读取xls数据, 但有些数据与excel的实际数据不同/丢失。

这是我的readXlsFile方法:

func readXLSFile(filename string) ([][]string, error) {
    result := [][]string{}

    log.Println("Get into readXlsFile")

    xlFile, err := xls.Open(filename, "utf-8")
    if err != nil {
        return nil, err
    }

    sheet1 := xlFile.GetSheet(0)
    str := ""
    //log.Println("Max Row ", int(sheet1.MaxRow))
    for i := 0; i <= (int(sheet1.MaxRow)); i++ {
        row1 := sheet1.Row(i)
        temp := []string{}
        for j := 0; j <= int(row1.LastCol()); j++ {
            temp = append(temp, row1.Col(j))

            //log.Println("Max Col", int(row1.LastCol()), "Of row ", i+1)
            str += fmt.Sprintf("column %d data = %s ", j+1, row1.Col(j))
        }
        log.Printf("row %d data : %s \n", i+1, str)
        str = ""
        result = append(result, temp)
    }

    return result, nil
}

这是我的日志,它显示了我的xls文件中的不同数据:

2018/03/12 19:24:24 service.inquiry.go:4557: row 1836 data : column 1 data = :61:171218C59000NMSC column 2 data =   
2018/03/12 19:24:24 service.inquiry.go:4557: row 1837 data : column 1 data = :86: column 2 data =  column 3 data =  column 4 data =  column 5 data =  column 6 data =  column 7 data =  column 8 data =  column 9 data =  column 10 data =  column 11 data =  column 12 data = PLS10299 column 13 data =  column 14 data = 22162- column 15 data =   
2018/03/12 19:24:24 service.inquiry.go:4557: row 1838 data : column 1 data = :61:171218D300NMSC column 2 data =   
2018/03/12 19:24:24 service.inquiry.go:4557: row 1839 data : column 1 data = :86: column 2 data =  column 3 data =  column 4 data =  column 5 data =  column 6 data =  column 7 data =  column 8 data =  column 9 data =  column 10 data =  column 11 data =  column 12 data = PLS10299 column 13 data =  column 14 data = 22162- column 15 data =   
2018/03/12 19:24:24 service.inquiry.go:4557: row 1840 data : column 1 data = :61:171218D700NMSC column 2 data =   
2018/03/12 19:24:24 service.inquiry.go:4557: row 1841 data : column 1 data = :86: column 2 data =  column 3 data =  column 4 data =  column 5 data =  column 6 data =  column 7 data =  column 8 data =  column 9 data =  column 10 data =  column 11 data =  column 12 data = PLS10299 column 13 data =  column 14 data = 22162- column 15 data =   

这是来自xls文件的实际数据: image

有人知道为什么会发生这种情况,以及如何解决这个问题?

0 个答案:

没有答案