golang melaksanakan membaca dan menulis cemerlang

王林
Lepaskan: 2023-05-13 10:04:37
asal
3481 orang telah melayarinya

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
Salin selepas log masuk
  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
}
Salin selepas log masuk

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)
    }
}
Salin selepas log masuk
  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)
Salin selepas log masuk

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", "女")
Salin selepas log masuk

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)
}
Salin selepas log masuk
  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)
    }
}
Salin selepas log masuk
  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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan