隨著資料處理的需求越來越重要,Excel表格中的資料逐漸成為了日常工作和生活中不可或缺的一部分。在Golang程式語言中,也有著優秀的函式庫可以輕鬆實現Excel檔案的讀寫操作,這篇文章將帶大家一步一步實現Golang版Excel檔案的讀寫。
要實作Excel檔案的讀取與寫入操作,我們需要使用第三方的Golang程式庫,go-excelize。執行下列指令可安裝該函式庫:
go get github.com/360EntSecGroup-Skylar/excelize
#首先,我們將開啟一個名為「test.xlsx」的Excel文件,並將其中的Sheet1作為需要讀取的表格。
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 }
透過GetRows方法,我們可以輕鬆取得Sheet1表格中的所有行。接下來,我們可以對每行資料進行遍歷,並列印出每個儲存格的值。
for i, row := range rows { for j, colCell := range row { fmt.Printf("(%d,%d) %s ", i+1, j+1, colCell) } }
與讀取Excel檔案類似,我們先開啟一個名為「write.xlsx」的Excel文件,並且選取需要寫入的表格為Sheet1。
f := excelize.NewFile() // 创建一个名为 Sheet1 的表格 sheetIndex := f.NewSheet("Sheet1") // 设置 Sheet1 表格为当前操作表格 f.SetActiveSheet(sheetIndex)
現在,我們已經建立了一個新的Excel檔案並且新增了一個名為Sheet1的表格。接下來,我們可以將所需資料寫入表格中。
// 向 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) }
註:本範例程式碼僅為示範用途,讀取和寫入檔案所使用的表格格式需要根據實際情況調整。
完整程式碼如下:
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) } }
#透過以上的程式碼演示,我們可以看出,使用Golang實作Excel檔案的讀寫操作非常簡單和有效率。 go-excelize是Golang社群的一個強大函式庫,它提供了許多的功能來處理Excel檔案並且可以與其他函式庫整合使用。因此,Golang已經成為了處理Excel檔案非常好的選擇之一,希望能夠幫助大家。
以上是golang實作excel讀寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!