在Golang中,可以使用github.com/tealeg/xlsx
庫來實現異步導入Excel。
首先,你需要在你的項目中引入github.com/tealeg/xlsx
庫。你可以使用以下命令來獲取該庫:
go get github.com/tealeg/xlsx
接下來,你可以使用以下代碼來實現異步導入Excel:
package main
import (
"fmt"
"sync"
"github.com/tealeg/xlsx"
)
func main() {
var wg sync.WaitGroup
files := []string{"file1.xlsx", "file2.xlsx", "file3.xlsx"}
for _, file := range files {
wg.Add(1)
go func(filename string) {
defer wg.Done()
xlFile, err := xlsx.OpenFile(filename)
if err != nil {
fmt.Printf("Failed to open file %s: %s\n", filename, err.Error())
return
}
// 處理Excel文件的內容,例如讀取單元格數據
for _, sheet := range xlFile.Sheets {
for _, row := range sheet.Rows {
for _, cell := range row.Cells {
value, err := cell.String()
if err != nil {
fmt.Printf("Failed to read cell value: %s\n", err.Error())
continue
}
fmt.Println(value)
}
}
}
fmt.Printf("Imported file %s successfully\n", filename)
}(file)
}
wg.Wait()
}
在上面的代碼中,我們用sync.WaitGroup
來等待所有的goroutine完成。在每個goroutine中,我們使用xlsx.OpenFile
函數來打開Excel文件并處理文件中的內容。你可以根據你的實際需求修改代碼。
請確保將file1.xlsx
、file2.xlsx
和file3.xlsx
替換為你的實際Excel文件的路徑。