代码拉取完成,页面将自动刷新
package gfxlsx
import (
"fmt"
"github.com/gogf/gf/container/gvar"
"github.com/gogf/gf/database/gdb"
"github.com/tealeg/xlsx"
)
func ReadFile(filename, sheetname string) (gdb.Result, error) {
f, err := xlsx.OpenFile(filename)
if err != nil {
return nil, err
}
sheet, ok := f.Sheet[sheetname]
if !ok {
return nil, fmt.Errorf("sheet %s not found", sheetname)
}
if len(sheet.Rows) < 2 {
return nil, fmt.Errorf("数据行不能小于2")
}
var result gdb.Result
headrow := sheet.Rows[0]
head := make([]string, len(headrow.Cells))
for i := 0; i < len(headrow.Cells); i++ {
if headrow.Cells[i].Value == "" {
head[i] = fmt.Sprintf("第%d列", i+1)
} else {
head[i] = headrow.Cells[i].Value
}
}
fmt.Println(head)
for i := 1; i < len(sheet.Rows); i++ {
re := make(gdb.Record)
for j := 0; j < len(headrow.Cells) && j < len(sheet.Rows[i].Cells); j++ {
re[head[j]] = gvar.New(sheet.Rows[i].Cells[j].String())
}
result = append(result, re)
}
return result, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。