excel - 当 Go 中未提供工作表/部分名称时如何从 XLS 文件中读取所有行
问题描述
我需要从.xsl
Go 中的文件中读取所有行。找到了这个惊人的Excelize 库,它可以让我读取和写入 XLSX/XLSM/XLTM 文件。
不幸的是,他们GetRows()
需要工作表名称。
// Get all the rows in the Sheet1.
rows, err := f.GetRows("Sheet1")
for _, row := range rows {
for _, colCell := range row {
fmt.Print(colCell, "\t")
}
fmt.Println()
}
就我而言,每个文件都有不同命名的工作表。那么有没有办法只获取 默认/第一个工作表的所有行?提前非常感谢!
解决方案
您可以使用来获取第一张工作表的f.WorkBook.Sheets.Sheet[0].Name
名称,其中.f
excelize.File
package main
import (
"fmt"
"github.com/360EntSecGroup-Skylar/excelize"
"log"
)
func main() {
f, err := excelize.OpenFile("Book.xlsx")
if err != nil {
log.Fatalln(err)
}
firstSheet := f.WorkBook.Sheets.Sheet[0].Name
fmt.Printf("'%s' is first sheet of %d sheets.\n", firstSheet, f.SheetCount)
rows, err := f.GetRows(firstSheet)
if err != nil {
log.Fatalln(err)
}
for _, row := range rows {
for _, colCell := range row {
fmt.Print(colCell, "\t")
}
fmt.Println()
}
}
使用带有 2 张纸的玩具 Excel 工作簿,我得到以下输出:
'Sheet1' is first sheet of 2 sheets.
1 2
推荐阅读
- java - 如何在 sharedPreferences 中保存字符串
- javascript - 在 URL (JS) 中获取两个变量
- image - Xamarin Forms CollectionView 图像源未绑定到文件路径。(Xamarin Forms 预发行版 v 4.0.0.8055-pre1)
- jenkins - pm2:如果在 jenkins 中使用,则找不到命令
- javascript - 带有焦点的输入示例打破表单的滑动动画
- react-native - 如何在本机反应中获取json的孩子
- angular - Angular 7从html代码中找到匹配给定条件的数组中的条目导致解析器错误
- docker - 如何在文件中设置密码 odoo 密码的密码?
- matlab - 使用matlab代码比较两个文本文件
- google-maps - 适用于移动设备的 Google Street View URL - 与桌面设备不同的结果