Atveriet bibliotēku darbam ar Excel XLSX dokumentiem

Atvērtā pirmkoda Go API, kas atbalsta Microsoft Excel XLSX izklājlapu ģenerēšanu, darblapu pārvaldību, rindu un kolonnu apstrādi darblapās, izmantojot Go API.

Xlsx bibliotēka nodrošina ļoti ātru un uzticamu veidu, kā strādāt ar Microsoft Excel failiem, izmantojot Go. Bibliotēka palīdz vienkāršot Excel XLSX faila formāta lasīšanu un rakstīšanu. XLSX faila formāts tika ieviests 2007. gadā, un tajā tiek izmantots Open XML standarts, ko Microsoft adaptēja 2000. gadā. Bibliotēka ir atvērtā pirmkoda un pieejama saskaņā ar BSD-3 klauzulas licenci.

Atvērtā koda xlsx bibliotēkā ir iekļauts atbalsts vairākiem svarīgiem līdzekļiem, kas saistīti ar Microsoft Excel dokumentu izveidi un manipulācijām, piemēram, jauna XlSX faila izveide, esošo Excel failu atvēršana, piekļuve jūsu darblapām, jaunu darblapu pievienošana, rindu un kolonnu pārvaldība darblapā, pievienošana šūnas, šūnu iegūšana no rindas, šūnu formatēšana, stilu pielietošana šūnām, nosaukto diapazonu atbalsts un daudz kas cits.

Previous Next

Darba sākšana ar Xlsx2Go

Ieteicamais xlsx instalēšanas veids ir no GitHub. Lūdzu, izmantojiet šo komandu vienmērīgai instalēšanai.

Instalējiet xlsx, izmantojot GitHub

go get https://github.com/tealeg/xlsx.git

JAUNU XLSX failu izveide, izmantojot Go Library

Atvērtā koda xlsx bibliotēka sniedz programmatūras izstrādātājiem iespēju no jauna izveidot jaunu tukšu XLSX failu, izmantojot pāris Go komandas. Izstrādātāji var izmantot jauno funkciju NewFile(), lai ģenerētu jaunu failu. Kad darbgrāmata ir izveidota, varat tai viegli pievienot jaunu saturu. Varat viegli pievienot jaunu lapu vai pievienot esošu lapu. Kad tas ir izveidots un darbs ir pabeigts, lūdzu, saglabājiet savu darbu, ieteicams Aizvērt() lapu.

Izveidojiet un rediģējiet Excel XLSX failu, izmantojot Go API

// Demonstrates how to create/open/save XLSX files
func Example_files() {
	// Create a new XLSX file
	xl := xlsx.New()
	// Open the XLSX file using file name
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	// Open the XLSX file using file handler
	zipFile, err := os.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	xl, err = xlsx.Open(zipFile)
	if err != nil {
		log.Fatal(err)
	}
	// Update the existing XLSX file
	err = xl.Save()
	if err != nil {
		log.Fatal(err)
	}
	// Save the XLSX file under different name
	err = xl.SaveAs("new_file.xlsx")
	if err != nil {
		log.Fatal(err)
	}
}

Piekļūstiet un lasiet XLSX failus

Atvērtā koda xlsx bibliotēka ir nodrošinājusi funkciju kopu, kas ļauj izstrādātājiem piekļūt esošam XLSX izklājlapas failam un lasīt to savās Go lietojumprogrammās. Varat arī viegli piekļūt darbgrāmatas lapām, izmantojot tikai dažas Go komandas. Izstrādātāji var arī viegli piekļūt konkrētai lapai pēc savas izvēles.

Piekļūstiet un lasiet Excel failam, izmantojot Go Library

func Example_access() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	// Get sheet by 0-based index
	sheet := xl.Sheet(0)
	// Get cell by 0-based indexes
	cell := sheet.Cell(13, 27)
	fmt.Println(cell.Value())
	// Get cell by reference
	cell = sheet.CellByRef("N28")
	fmt.Println(cell.Value())
	// Get row by 0-based index
	row := sheet.Row(9)
	fmt.Println(strings.Join(row.Values(), ","))
	// Get cell of row at 0-based col index
	cell = row.Cell(0)
	fmt.Println(cell.Value())
	// Get col by 0-based index
	col := sheet.Col(3)
	fmt.Println(strings.Join(col.Values(), ","))
	// Get cell of col at 0-based row index
	cell = col.Cell(0)
	fmt.Println(cell.Value())
	// Get range by references
	area := sheet.RangeByRef("D10:H13")
	fmt.Println(strings.Join(area.Values(), ","))
}

Rindu un kolonnu apstrāde darblapās

Šūnas ir Excel darblapas mugurkauls. Darblapa sastāv no šūnām, kas sakārtotas rindās un kolonnās. Xlsx bibliotēka nodrošina programmatūras izstrādātājiem plašu funkciju klāstu, kas ļauj apstrādāt rindas un kolonnas savās lietotnēs, izmantojot komandas Go. Tā atbalsta jaunu rindu un kolonnu pievienošanu, rindu un kolonnu atkārtošanu, nevēlamu rindu un kolonnu dzēšanu, jaunu šūnu pievienošanu rindai, vērtības iegūšanu no šūnas, formatējuma piemērošanu šūnu diapazonam un daudz ko citu.

Ievietojiet kolonnas un rindas Excel darblapā, izmantojot Go Library

func Example_insert() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	sheet := xl.Sheet(0)
	fmt.Println(sheet.Dimension())
	fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
	// Insert a new col
	sheet.InsertCol(3)
	fmt.Println(sheet.Dimension())
	fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
	fmt.Println(strings.Join(sheet.Col(4).Values(), ","))
	// Insert a new row
	fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
	sheet.InsertRow(3)
	fmt.Println(sheet.Dimension())
	fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
	fmt.Println(strings.Join(sheet.Row(10).Values(), ","))
}

Lietojiet stilus un formatējumu

Bezmaksas bibliotēkas xlsx bibliotēka ir nodrošinājusi vairākas svarīgas funkcijas, kas ļauj programmatūras izstrādātājiem viegli lietot formatējumu un stilus savām izklājlapām. Stili nodrošina šūnu izkārtojumu un noformējumu, piemēram, fontu, krāsu, satura līdzinājumu, fonta lielumu, aizpildījumu u.c. Varat viegli lietot stilu virknei šūnu, izmantojot tikai dažas koda rindiņas. Jums vienkārši jāizveido stils vienreiz un jāizmanto atkārtoti, kad nepieciešams. Šūnām varat lietot arī skaitļu un datuma formātus.

Lietojiet stilus un formatējumu Excel failam, izmantojot Go Library

gfunc Example_formatting() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	// Create a new format for a bold font with red color and yellow solid background
	redBold := styles.New(
		styles.Font.Bold,
		styles.Font.Color("#ff0000"),
		styles.Fill.Background("#ffff00"),
		styles.Fill.Type(styles.PatternTypeSolid),
	)
	// Add formatting to xlsx
	styleID := xl.AddStyles(redBold)
	sheet := xl.Sheet(0)
	// Set formatting for cell
	sheet.CellByRef("N28").SetStyles(styleID)
	// Set DEFAULT formatting for row. Affects cells not yet allocated in the row.
	// In other words, this style applies to new cells.
	sheet.Row(9).SetStyles(styleID)
	// Set DEFAULT formatting for col. Affects cells not yet allocated in the col.
	// In other words, this style applies to new cells.
	sheet.Col(3).SetStyles(styleID)
	//set formatting for all cells in range
	sheet.RangeByRef("D10:H13").SetStyles(styleID)
}
 Latviski