Pustaka Go Sumber Terbuka untuk Mencipta Fail XLSX Excel
Baca, Tulis, Edit dokumen Microsoft Excel XLSX melalui Open Source Go API. Tambahkan berbilang carta, imej dan jadual dalam hamparan anda.
Unioffice ialah perpustakaan pure go sumber terbuka yang memberikan pembangun perisian keupayaan untuk menjana, mengubah suai dan memanipulasi dokumen Office Excel XLSX di dalam aplikasi Go mereka sendiri. Perpustakaan ini sangat stabil dan menyediakan tahap produktiviti tertinggi dengan usaha dan kos yang sangat sedikit.
Pustaka unioffice sumber terbuka menyokong sepenuhnya beberapa ciri penting yang berkaitan dengan penciptaan dan pengubahsuaian hamparan Excel, seperti mencipta helaian Excel baharu dari awal, mencipta sel dengan pelbagai format nombor/tarikh/masa, pemformatan Sel Excel, sokongan pengesahan sel, Dapatkan semula nilai sel seperti yang diformatkan oleh Excel, pemformatan bersyarat, Cantum dan nyahcantum sel, pengesahan data termasuk dropdown kotak kombo, Imej Terbenam dan banyak lagi.
Bermula dengan unioffice
Cara yang disyorkan untuk menyepadukan dalam projek anda adalah dengan menggunakan Github. Sila gunakan arahan berikut untuk pemasangan yang lancar.
Pasang unioffice melalui GitHub
go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/...
Penciptaan Excel XLSX melalui Go API
Unipejabat perpustakaan sumber terbuka membenarkan pengaturcara komputer mencipta hamparan Excel XLSX di dalam aplikasi Go mereka sendiri. Ia memberi anda keupayaan untuk menambah helaian baharu pada dokumen Excel sedia ada anda dan menetapkan nama pada helaian dan menyimpan fail ke laluan pilihan anda. Ia juga menyediakan sokongan untuk beberapa ciri penting seperti menambah baris dan lajur baharu pada helaian, menentukan bilangan baris dan lajur, menetapkan nilai lalai sel dan banyak lagi. Anda juga boleh membuka dan mengubah suai hamparan sedia ada dengan mudah.
Cipta Fail Excel Mudah melalui Perpustakaan Go
func main() {
ss := spreadsheet.New()
defer ss.Close()
// add a single sheet
sheet := ss.AddSheet()
// rows
for r := 0; r < 5; r++ {
row := sheet.AddRow()
// and cells
for c := 0; c < 5; c++ {
cell := row.AddCell()
cell.SetString(fmt.Sprintf("row %d cell %d", r, c))
}
}
if err := ss.Validate(); err != nil {
log.Fatalf("error validating sheet: %s", err)
}
ss.SaveToFile("simple.xlsx")
}
Tambahkan Berbilang Carta pada Fail Excel XLSX
Pustaka unioffice telah menyediakan sokongan untuk menambahkan carta pada hamparan Excel dengan hanya beberapa baris kod. Anda boleh membuat carta berdasarkan data yang tersedia dalam lembaran kerja anda dan juga tanpa ketersediaan sebarang data sama sekali. Carta memberi anda keupayaan untuk memaparkan data secara visual dalam format yang berbeza seperti Bar, Lajur, Pai, Garisan, Kawasan atau Radar, dsb. Pembangun boleh memilih dengan mudah daripada pilihan carta yang tersedia dan boleh mengawal nilainya.
Sisipkan Berbilang Carta ke Fail Excel melalui Go API
func main() {
ss := spreadsheet.New()
defer ss.Close()
sheet := ss.AddSheet()
// Create all of our data
row := sheet.AddRow()
row.AddCell().SetString("Item")
row.AddCell().SetString("Price")
row.AddCell().SetString("# Sold")
row.AddCell().SetString("Total")
for r := 0; r < 5; r++ {
row := sheet.AddRow()
row.AddCell().SetString(fmt.Sprintf("Product %d", r+1))
row.AddCell().SetNumber(1.23 * float64(r+1))
row.AddCell().SetNumber(float64(r%3 + 1))
row.AddCell().SetFormulaRaw(fmt.Sprintf("C%d*B%d", r+2, r+2))
}
// Charts need to reside in a drawing
dwng := ss.AddDrawing()
chrt1, anc1 := dwng.AddChart(spreadsheet.AnchorTypeTwoCell)
chrt2, anc2 := dwng.AddChart(spreadsheet.AnchorTypeTwoCell)
addBarChart(chrt1)
addLineChart(chrt2)
anc1.SetWidth(9)
anc1.MoveTo(5, 1)
anc2.MoveTo(1, 23)
// and finally add the chart to the sheet
sheet.SetDrawing(dwng)
if err := ss.Validate(); err != nil {
log.Fatalf("error validating sheet: %s", err)
}
ss.SaveToFile("multiple-chart.xlsx")
}
func addBarChart(chrt chart.Chart) {
chrt.AddTitle().SetText("Bar Chart")
lc := chrt.AddBarChart()
priceSeries := lc.AddSeries()
priceSeries.SetText("Price")
// Set a category axis reference on the first series to pull the product names
priceSeries.CategoryAxis().SetLabelReference(`'Sheet 1'!A2:A6`)
priceSeries.Values().SetReference(`'Sheet 1'!B2:B6`)
soldSeries := lc.AddSeries()
soldSeries.SetText("Sold")
soldSeries.Values().SetReference(`'Sheet 1'!C2:C6`)
totalSeries := lc.AddSeries()
totalSeries.SetText("Total")
totalSeries.Values().SetReference(`'Sheet 1'!D2:D6`)
// the line chart accepts up to two axes
ca := chrt.AddCategoryAxis()
va := chrt.AddValueAxis()
lc.AddAxis(ca)
lc.AddAxis(va)
ca.SetCrosses(va)
va.SetCrosses(ca)
}
Masukkan Imej ke Hamparan XLSX
Pustaka unioffice menyokong sepenuhnya kemasukan imej ke dalam Hamparan XLSX dengan hanya beberapa baris kod Go. Ia menyokong pengubahsuaian imej serta memadamkan imej sedia ada di dalam lembaran kerja XLSX. Ia juga menyediakan pilihan untuk memasukkan gambar dan menetapkan sifatnya seperti saiz, kedudukan, dsb. serta sokongan pencetakan.
Masukkan Imej ke Fail Excel melalui Go API
func main() {
ss := spreadsheet.New()
defer ss.Close()
// add a single sheet
sheet := ss.AddSheet()
img, err := common.ImageFromFile("gophercolor.png")
if err != nil {
log.Fatalf("unable to create image: %s", err)
}
iref, err := ss.AddImage(img)
if err != nil {
log.Fatalf("unable to add image to workbook: %s", err)
}
dwng := ss.AddDrawing()
sheet.SetDrawing(dwng)
for i := float64(0); i < 360; i += 30 {
anc := dwng.AddImage(iref, spreadsheet.AnchorTypeAbsolute)
ang := i * math.Pi / 180
x := 2 + 2*math.Cos(ang)
y := 2 + +2*math.Sin(ang)
anc.SetColOffset(measurement.Distance(x) * measurement.Inch)
anc.SetRowOffset(measurement.Distance(y) * measurement.Inch)
// set the image to 1x1 inches
var w measurement.Distance = 1 * measurement.Inch
anc.SetWidth(w)
anc.SetHeight(iref.RelativeHeight(w))
}
if err := ss.Validate(); err != nil {
log.Fatalf("error validating sheet: %s", err)
}
ss.SaveToFile("image.xlsx")
}
Gunakan Pemformatan Bersyarat pada Sel Hamparan
Pemformatan Bersyarat ialah ciri berguna yang membantu pengguna Excel menggunakan format pada sel atau julat sel berdasarkan kriteria tertentu. Pustaka unioffice telah menyediakan fungsi yang membolehkan pembangun perisian menggunakan pemformatan bersyarat pada hamparan mereka dengan hanya beberapa arahan Go. Pustaka telah menyertakan sokongan untuk memformat sel secara bersyarat, penggayaan, kecerunan, ikon, bar data & banyak lagi yang akan datang.