Excel XLSX Dosyaları Oluşturmak için Açık Kaynak Go Kitaplığı
Open Source Go API aracılığıyla Microsoft Excel XLSX belgelerini okuyun, yazın, düzenleyin. E-tablolarınıza birden çok grafik, resim ve tablo ekleyin.
Unioffice, yazılım geliştiricilere kendi Go uygulamaları içinde Office Excel XLSX belgeleri oluşturma, değiştirme ve değiştirme yeteneği veren açık kaynaklı bir saf go kitaplığıdır. Kitaplık çok kararlıdır ve çok az çaba ve maliyetle en yüksek düzeyde üretkenlik sağlar.
Açık kaynak unioffice kitaplığı, sıfırdan yeni Excel sayfaları oluşturma, çeşitli sayı/tarih/saat biçimleriyle hücreler oluşturma, Excel Hücre biçimlendirme, Hücre doğrulama desteği, Hücre değerlerini alma gibi Excel elektronik tablosu oluşturma ve değiştirmeyle ilgili birçok önemli özelliği tam olarak destekler. Excel tarafından biçimlendirildiği gibi, koşullu biçimlendirme, Hücreleri birleştirme ve birleştirmeyi ayırma, birleşik giriş kutusu açılır listeleri dahil veri doğrulama, Gömülü Görüntüler ve çok daha fazlası.
unioffice'e Başlarken
Unioffice'i projenize dahil etmenin önerilen yolu Github'ı kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.
Unioffice'i GitHub aracılığıyla kurun
go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/...
Go API ile Excel XLSX Oluşturma
Açık kaynak kitaplığı unioffice, bilgisayar programcılarının kendi Go uygulamaları içinde bir Excel XLSX elektronik tablosu oluşturmasına olanak tanır. Size mevcut Excel belgelerinize yeni bir sayfa ekleme ve bir sayfaya bir ad atama ve dosyayı istediğiniz yola kaydetme yeteneği verir. Ayrıca, bir sayfaya yeni satırlar ve sütunlar ekleme, satır ve sütun sayısını tanımlama, bir hücrenin varsayılan değerini ayarlama ve daha fazlası gibi birçok önemli özellik için destek sağlar. Ayrıca mevcut elektronik tabloyu kolaylıkla açıp değiştirebilirsiniz.
Simple Excel File via Go Library
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")
}
Excel XLSX Dosyasına Birden Çok Grafik Ekleme
Unioffice kitaplığı, yalnızca birkaç satır kodla bir Excel elektronik tablosuna grafikler eklemek için destek sağlamıştır. Çalışma sayfanızdaki mevcut verilere dayalı olarak ve herhangi bir veri bulunmadan grafikler oluşturabilirsiniz. Grafikler size Çubuk, Sütun, Pasta, Çizgi, Alan veya Radar vb. gibi farklı formatlardaki verileri görsel olarak görüntüleme yeteneği verir. Geliştiriciler mevcut grafik seçeneklerinden kolayca seçim yapabilir ve değerlerini kontrol edebilir.
Go API ile Excel Dosyası için Birden Çok Grafik
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)
}
Resimleri XLSX E-Tablolarına Ekle
unioffice kitaplığı, görüntülerin yalnızca birkaç satır Go koduyla XLSX Elektronik Tablolarına eklenmesini tam olarak destekler. Bir XLSX çalışma sayfasındaki mevcut görüntüleri silmenin yanı sıra görüntüleri değiştirmeyi de destekler. Ayrıca resim ekleme ve boyut, konum vb. özelliklerini ayarlama seçeneklerinin yanı sıra yazdırma desteği de sunar.
Go API aracılığıyla Excel File'e Ekle
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")
}
Elektronik Tablonun Hücrelerine Koşullu Biçimlendirme Uygulayın
Koşullu Biçimlendirme, Excel kullanıcılarının belirli ölçütlere dayalı olarak bir hücreye veya hücre aralığına bir biçim uygulamasına yardımcı olan kullanışlı bir özelliktir. Unioffice kitaplığı, yazılım geliştiricilerin yalnızca birkaç Go komutuyla elektronik tablolarına koşullu biçimlendirme uygulamalarına olanak tanıyan işlevsellik sağlamıştır. Kitaplık, koşullu biçimlendirme hücreleri, stil, degradeler, simgeler, veri çubuğu ve daha fazlası için destek içeriyor.