Rumah  >  Artikel  >  pembangunan bahagian belakang  >  golang melaksanakan membaca dan menulis cemerlang

golang melaksanakan membaca dan menulis cemerlang

王林
王林asal
2023-05-13 10:04:373498semak imbas

Memandangkan permintaan untuk pemprosesan data menjadi semakin penting, data dalam jadual Excel secara beransur-ansur menjadi bahagian yang sangat diperlukan dalam kerja dan kehidupan harian. Dalam bahasa pengaturcaraan Golang, terdapat juga perpustakaan yang sangat baik yang boleh membaca dan menulis fail Excel dengan mudah Artikel ini akan membawa anda langkah demi langkah untuk membaca dan menulis fail Excel versi Golang.

  1. Pasang pustaka pemprosesan Excel

Untuk melaksanakan pembacaan dan penulisan fail Excel, kita perlu menggunakan pustaka Golang pihak ketiga, go-excelize. Jalankan arahan berikut untuk memasang perpustakaan:

go get github.com/360EntSecGroup-Skylar/excelize
  1. Baca Fail Excel

Pertama, kami akan membuka fail Excel bernama "test.xlsx" dan meletakkan Sheet1 digunakan sebagai jadual yang perlu dibaca.

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
}

Melalui kaedah GetRows, kita boleh mendapatkan semua baris dalam jadual Sheet1 dengan mudah. Seterusnya, kita boleh mengulangi setiap baris data dan mencetak nilai setiap sel.

for i, row := range rows {
    for j, colCell := range row {
        fmt.Printf("(%d,%d) %s
", i+1, j+1, colCell)
    }
}
  1. Tulis ke fail Excel

Sama seperti membaca fail Excel, kami mula-mula membuka fail Excel bernama "write.xlsx" dan pilih fail yang akan ditulis The dimasukkan borang ialah Helaian1.

f := excelize.NewFile()
// 创建一个名为 Sheet1 的表格
sheetIndex := f.NewSheet("Sheet1")
// 设置 Sheet1 表格为当前操作表格
f.SetActiveSheet(sheetIndex)

Kini, kami telah mencipta fail Excel baharu dan menambah jadual bernama Sheet1. Seterusnya, kita boleh menulis data yang diperlukan ke dalam jadual.

// 向 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", "女")

Melalui kod di atas, kami telah berjaya menulis data ke dalam jadual Excel. Akhir sekali, kita perlu menyimpan fail untuk memastikan data dapat dikekalkan.

err := f.SaveAs("./write.xlsx")
if err != nil {
    fmt.Println(err)
}
  1. Kod penuh

Nota: Kod contoh ini adalah untuk tujuan demonstrasi sahaja Format jadual yang digunakan untuk membaca dan menulis fail perlu dilaraskan mengikut situasi sebenar .

Kod lengkap adalah seperti berikut:

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)
    }
}
  1. Ringkasan

Melalui demonstrasi kod di atas, kita dapat melihat bahawa menggunakan Golang untuk melaksanakan membaca dan menulis pengendalian fail Excel Sangat mudah dan cekap. go-excelize ialah perpustakaan yang berkuasa dalam komuniti Golang Ia menyediakan banyak fungsi untuk memproses fail Excel dan boleh disepadukan dengan perpustakaan lain. Oleh itu, Golang telah menjadi salah satu pilihan yang sangat baik untuk memproses fail Excel. Saya harap ia dapat membantu semua orang.

Atas ialah kandungan terperinci golang melaksanakan membaca dan menulis cemerlang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:tali golang 转jsonArtikel seterusnya:tali golang 转json