Cara Memuat Spreadsheet di Go
Aspose.Cells FOSS untuk Go memuat workbook .xlsx yang ada ke memori sebagai Workbook, memberi Anda akses penuh ke lembar kerja dan selnya melalui API perpustakaan standar. Instal modul dengan go get sebelum memulai.
Panduan Langkah demi Langkah
Langkah 1: Instal Paket
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26Verifikasi versi modul di go.mod Anda setelah menginstal.
Langkah 2: Impor Kelas yang Diperlukan
import (
cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)Langkah 3: Buat dan Isi Workbook untuk Dimuat
Contoh ini pertama-tama membuat workbook agar memiliki file .xlsx yang nyata untuk dimuat — dalam kode Anda sendiri, gantikan path dengan spreadsheet yang sudah ada:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Product")
ws.Cells().Set("B1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", 12.99)
wb.Save("outputfiles/products.xlsx")Langkah 4: Baca Nilai Sel dari Worksheet yang Dimuat
Akses worksheet pertama melalui Worksheets[0] dan baca sel individual dengan Cells().Get(ref):
wb := cells_foss.NewWorkbook()
wb.Worksheets[0].Cells().Set("B2", 12.99)
ws2 := wb.Worksheets[0]
cell, err := ws2.Cells().Get("B2")
if err != nil {
fmt.Printf("Error reading cell: %v\n", err)
return
}
fmt.Printf("Price: %v\n", cell.Value)Langkah 5: Enumerasi Semua Sel yang Terisi
Gunakan Cells().All() ketika Anda perlu mengiterasi setiap sel yang telah diatur, alih-alih membaca referensi yang diketahui satu per satu:
wb := cells_foss.NewWorkbook()
ws2 := wb.Worksheets[0]
ws2.Cells().Set("A1", "Product")
allCells := ws2.Cells().All()
for ref, c := range allCells {
fmt.Printf("%s = %v\n", ref, c.Value)
}Masalah Umum dan Solusinya
Get mengembalikan error untuk referensi sel. Referensi belum diatur dalam koleksi. Pastikan sel telah ditulis dengan Set, atau periksa nilai yang dikembalikan error secara eksplisit sebelum menggunakan sel.
Nilai tampaknya berjenis salah. Cell.Value mencerminkan jenis apa pun yang diteruskan ke Set (string, int, float64, dan sebagainya) — inspeksi dengan type switch jika Anda perlu bercabang berdasarkan tipe Go yang mendasarinya.
Workbook yang dimuat tidak memiliki data pada lembar yang diharapkan. Pastikan Anda mengindeks entri yang benar di Worksheets — sebuah buku kerja dapat memiliki lebih dari satu lembar kerja, dan data target mungkin tidak berada di Worksheets[0].
Pertanyaan yang Sering Diajukan
Apakah memuat workbook memerlukan file asli tetap ada di disk?
Ya — Workbook membaca dari jalur file yang Anda berikan. Jaga agar file sumber tetap dapat diakses selama proses pemuatan.
Apakah saya dapat memodifikasi sel setelah memuat dan menyimpan perubahan kembali?
Ya — Cells().Set berfungsi pada workbook yang dimuat dengan cara yang sama seperti pada yang baru dibuat; panggil Save lagi untuk menulis perubahan Anda.
Apakah ada cara untuk menghindari memuat seluruh file ke dalam memori?
Ya — gunakan StreamingReader.ProcessRows untuk file besar di mana Anda hanya perlu membaca baris secara berurutan daripada memuat seluruh workbook.