Heim > Artikel > Backend-Entwicklung > Golang implementiert Excel-Lesen und -Schreiben
Da der Bedarf an Datenverarbeitung immer wichtiger wird, sind Daten in Excel-Tabellen nach und nach zu einem unverzichtbaren Bestandteil der täglichen Arbeit und des Lebens geworden. In der Programmiersprache Golang gibt es auch hervorragende Bibliotheken, mit denen Sie problemlos Excel-Dateien lesen und schreiben können. Dieser Artikel führt Sie Schritt für Schritt durch das Lesen und Schreiben der Golang-Version von Excel-Dateien.
Um die Lese- und Schreibvorgänge von Excel-Dateien zu realisieren, müssen wir die Golang-Bibliothek eines Drittanbieters, go-excelize, verwenden. Führen Sie den folgenden Befehl aus, um die Bibliothek zu installieren:
go get github.com/360EntSecGroup-Skylar/excelize
Zuerst öffnen wir eine Excel-Datei mit dem Namen „test.xlsx“ und verwenden darin Sheet1 als Tabelle, die gelesen werden muss.
f, err := excelize.OpenFile("./test.xlsx") if err != nil { fmt.Println(err) return } // 取得 Sheet1 表格中所有的行 rows, err := f.GetRows("Sheet1") if err != nil { fmt.Println(err) return }
Mit der GetRows-Methode können wir ganz einfach alle Zeilen in der Tabelle Sheet1 abrufen. Als nächstes können wir jede Datenzeile durchlaufen und den Wert jeder Zelle ausdrucken.
for i, row := range rows { for j, colCell := range row { fmt.Printf("(%d,%d) %s ", i+1, j+1, colCell) } }
Ähnlich wie beim Lesen einer Excel-Datei öffnen wir zunächst eine Excel-Datei mit dem Namen „write.xlsx“ und wählen die zu schreibende Tabelle als Sheet1 aus.
f := excelize.NewFile() // 创建一个名为 Sheet1 的表格 sheetIndex := f.NewSheet("Sheet1") // 设置 Sheet1 表格为当前操作表格 f.SetActiveSheet(sheetIndex)
Jetzt haben wir eine neue Excel-Datei erstellt und eine Tabelle namens Sheet1 hinzugefügt. Als nächstes können wir die benötigten Daten in die Tabelle schreiben.
// 向 A1 单元格写入内容 f.SetCellValue("Sheet1", "A1", "姓名") f.SetCellValue("Sheet1", "B1", "年龄") f.SetCellValue("Sheet1", "C1", "性别") // 写入数据行 f.SetCellValue("Sheet1", "A2", "张三") f.SetCellValue("Sheet1", "B2", 26) f.SetCellValue("Sheet1", "C2", "男") f.SetCellValue("Sheet1", "A3", "李四") f.SetCellValue("Sheet1", "B3", 28) f.SetCellValue("Sheet1", "C3", "男") f.SetCellValue("Sheet1", "A4", "小花") f.SetCellValue("Sheet1", "B4", 24) f.SetCellValue("Sheet1", "C4", "女")
Mit dem obigen Code haben wir die Daten erfolgreich in die Excel-Tabelle geschrieben. Schließlich müssen wir die Datei speichern, um sicherzustellen, dass die Daten beibehalten werden können.
err := f.SaveAs("./write.xlsx") if err != nil { fmt.Println(err) }
Hinweis: Dieser Beispielcode dient nur zu Demonstrationszwecken. Das zum Lesen und Schreiben von Dateien verwendete Tabellenformat muss entsprechend der tatsächlichen Situation angepasst werden.
Der vollständige Code lautet wie folgt:
package main import ( "fmt" "github.com/360EntSecGroup-Skylar/excelize" ) func main() { // 读取 Excel 文件 f, err := excelize.OpenFile("./test.xlsx") if err != nil { fmt.Println(err) return } // 取得 Sheet1 表格中所有的行 rows, err := f.GetRows("Sheet1") if err != nil { fmt.Println(err) return } // 遍历所有单元格的数据 for i, row := range rows { for j, colCell := range row { fmt.Printf("(%d,%d) %s ", i+1, j+1, colCell) } } // 创建 Excel 文件 f := excelize.NewFile() // 创建一个名为 Sheet1 的表格 sheetIndex := f.NewSheet("Sheet1") // 设置 Sheet1 表格为当前操作表格 f.SetActiveSheet(sheetIndex) // 向 A1 单元格写入内容 f.SetCellValue("Sheet1", "A1", "姓名") f.SetCellValue("Sheet1", "B1", "年龄") f.SetCellValue("Sheet1", "C1", "性别") // 写入数据行 f.SetCellValue("Sheet1", "A2", "张三") f.SetCellValue("Sheet1", "B2", 26) f.SetCellValue("Sheet1", "C2", "男") f.SetCellValue("Sheet1", "A3", "李四") f.SetCellValue("Sheet1", "B3", 28) f.SetCellValue("Sheet1", "C3", "男") f.SetCellValue("Sheet1", "A4", "小花") f.SetCellValue("Sheet1", "B4", 24) f.SetCellValue("Sheet1", "C4", "女") // 保存 Excel 文件 err := f.SaveAs("./write.xlsx") if err != nil { fmt.Println(err) } }
Anhand der obigen Codedemonstration können wir sehen, dass die Verwendung von Golang zum Implementieren von Lese- und Schreibvorgängen für Excel-Dateien sehr einfach und effizient ist. go-excelize ist eine leistungsstarke Bibliothek in der Golang-Community. Sie bietet viele Funktionen zur Verarbeitung von Excel-Dateien und kann in andere Bibliotheken integriert werden. Daher ist Golang zu einer sehr guten Wahl für die Verarbeitung von Excel-Dateien geworden. Ich hoffe, es kann jedem helfen.
Das obige ist der detaillierte Inhalt vonGolang implementiert Excel-Lesen und -Schreiben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!