golang 是一種高效率、簡潔、易用的程式語言,廣泛應用於 Web 開發、雲端運算等領域。在實際專案中,讀取 Excel 檔案是一項非常常見的需求。本文將介紹如何使用 golang 讀取 xls 文件,並給出完整的程式碼範例。
一、安裝依賴套件
在使用 golang 讀取 xls 檔案之前,我們需要先安裝一個開源函式庫,它叫做 "go-xls"。 go-xls 是一款針對 golang 的 xls 解析函式庫,提供了讀取 Excel 的 API 介面。
使用 go 指令安裝 go-xls 套件:
go get github.com/extrame/go-xls
以上指令會自動下載並安裝依賴套件,完成後即可開始使用 go-xls。
二、讀取 xls 檔案
接下來,我們將示範如何使用 go-xls 讀取 Excel 文件,並將內容輸出到控制台。
我們重新建立一個文件,命名為 "read_xls.go",程式碼框架如下:
package main import ( "fmt" "github.com/extrame/go-xls" ) func main() { // xls 文件路径 filepath := "./test.xls" // 打开 xls 文件 xlFile, err := xls.Open(filepath, "utf-8") if err != nil { fmt.Println(err) return } // 获取 Excel 中的第一张表 sheet := xlFile.GetSheet(0) // 遍历表格中的所有行和列 for i := 0; i <= int(sheet.MaxRow); i++ { row := sheet.Rows[i] for _, cell := range row.Cells { fmt.Printf("%s ", cell.String(xlFile)) } } }
在讀取 xls 檔案之前,我們需要做一些準備工作。透過 Open 函數開啟一個 xls 文件,並指定編碼方式(一般是 "utf-8")。如果發生錯誤則傳回開啟檔案失敗的提示訊息,否則繼續讀取 Excel 檔案。
因為一個 Excel 檔案可以包含多張表格,在本文中我們只示範如何讀取第一張表格。使用 GetSheet 函數取得 Excel 中的第一張表格,並遍歷表格中的所有行和列。對於每個單元格,我們使用 String 函數將其內容轉換成字串。最後,使用 fmt.Printf 將單元格內容輸出到控制台。
三、完整程式碼範例
下面是一個完整的程式碼範例,它能夠讀取任意一個 xls 文件,並輸出所有表格中的內容到控制台。程式碼中的註解能夠幫助你更好地理解每個步驟。
package main import ( "fmt" "github.com/extrame/go-xls" ) func main() { // xls 文件路径 filepath := "./test.xls" // 打开 xls 文件 xlFile, err := xls.Open(filepath, "utf-8") if err != nil { fmt.Println(err) return } // 遍历 xls 中的所有表格 for i := 0; i < xlFile.NumSheets(); i++ { sheet := xlFile.GetSheet(i) // 遍历表格中的所有行和列 for i := 0; i <= int(sheet.MaxRow); i++ { row := sheet.Rows[i] for _, cell := range row.Cells { fmt.Printf("%s ", cell.String(xlFile)) } } } }
四、總結
本文介紹如何使用 golang 讀取 xls 檔案。透過使用 go-xls 函式庫,我們可以輕鬆讀取 Excel 檔案的內容,並進行相關處理。希望本文的內容能幫助你解決實際專案中的問題。
以上是golang怎麼讀取xls的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文解釋了GO的軟件包導入機制:命名imports(例如導入“ fmt”)和空白導入(例如導入_ fmt; fmt;)。 命名導入使包裝內容可訪問,而空白導入僅執行t

本文解釋了Beego的NewFlash()函數,用於Web應用程序中的頁間數據傳輸。 它專注於使用newflash()在控制器之間顯示臨時消息(成功,錯誤,警告),並利用會話機制。 Lima

本文詳細介紹了MySQL查詢結果的有效轉換為GO結構切片。 它強調使用數據庫/SQL的掃描方法來最佳性能,避免手動解析。 使用DB標籤和Robus的結構現場映射的最佳實踐

本文演示了創建模擬和存根進行單元測試。 它強調使用接口,提供模擬實現的示例,並討論最佳實踐,例如保持模擬集中並使用斷言庫。 文章

本文探討了GO的仿製藥自定義類型約束。 它詳細介紹了界面如何定義通用功能的最低類型要求,從而改善了類型的安全性和代碼可重複使用性。 本文還討論了局限性和最佳實踐

本文詳細介紹了在GO中詳細介紹有效的文件,將OS.WriteFile(適用於小文件)與OS.openfile和緩衝寫入(最佳大型文件)進行比較。 它強調了使用延遲並檢查特定錯誤的可靠錯誤處理。

本文使用跟踪工具探討了GO應用程序執行流。 它討論了手冊和自動儀器技術,比較諸如Jaeger,Zipkin和Opentelemetry之類的工具,並突出顯示有效的數據可視化


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版