1. produkty
  2.   Tabulka
  3.   GO
  4.   xlsx
 
  

Přejít do knihovny pro práci s dokumenty Excel XLSX

Open Source Go API, které podporuje generování tabulek Microsoft Excel XLSX, správu listů a zpracování řádků a sloupců v pracovních listech prostřednictvím rozhraní Go API.

Knihovna xlsx poskytuje velmi rychlý a spolehlivý způsob práce se soubory Microsoft Excel pomocí Go. Knihovna pomáhá zjednodušit čtení a zápis ve formátu Excel XLSX. Souborový formát XLSX byl představen v roce 2007 a používá standard Open XML upravený společností Microsoft již v roce 2000. Knihovna je open source a je dostupná pod licencí BSD-3-Clause.

Knihovna xlsx s otevřeným zdrojovým kódem obsahuje podporu pro několik důležitých funkcí souvisejících s vytvářením a manipulací s dokumenty Microsoft Excel, jako je vytváření nového souboru XlSX, otevírání existujících souborů aplikace Excel, přístup k vašim listům, přidávání nových listů, správa řádků a sloupců uvnitř listu, přidávání buňky, získávání buňky z řádku, formátování buněk, použití stylů na buňky, podpora pojmenovaných rozsahů a mnoho dalšího.

Previous Next

Začínáme s Xlsx2Go

Doporučený způsob instalace xlsx je z GitHubu, pro bezproblémovou instalaci použijte následující příkaz.

Nainstalujte xlsx přes GitHub

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

Vytváření NOVÝCH souborů XLSX prostřednictvím knihovny Go

Open source knihovna xlsx poskytuje vývojářům softwaru možnost vytvořit nový prázdný soubor XLSX od začátku pomocí několika příkazů Go. Vývojáři mohou použít novou funkci NewFile() ke generování nového souboru. Jakmile je vytvořen, můžete do sešitu snadno přidat nový obsah. Můžete snadno přidat nový list nebo připojit existující list. Po vytvoření a dokončení práce si práci uložte, doporučuje se Zavřít()list.

Vytvořit a upravit soubor Excel LS přes 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)
	}
}

Přístup a čtení souborů XLSX

Knihovna xlsx s otevřeným zdrojovým kódem poskytuje sadu funkcí, které vývojářům umožňují otevřít a číst existující tabulkový soubor XLSX v jejich vlastních aplikacích Go. Můžete také snadno přistupovat k listům sešitu pomocí několika příkazů Go. Vývojáři mohou také snadno přistupovat ke konkrétnímu listu podle svého výběru.

Přístup a Přečtěte si soubor Excel prostřednictvím knihovny Go

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(), ","))
}

Práce s řádky a sloupci v pracovních listech

Buňky jsou páteří listu aplikace Excel. List se skládá z buněk uspořádaných do řádků a sloupců. Knihovna xlsx poskytuje vývojářům softwaru širokou škálu funkcí pro práci s řádky a sloupci v aplikacích pomocí příkazů Go. Podporuje přidávání nových řádků a sloupců, iteraci řádků a sloupců, mazání nechtěných řádků a sloupců, přidávání nových buněk do řádku, získávání hodnoty z buňky, použití formátování na rozsah buněk a mnoho dalších.

Vložit sloupce & Ross v Excel Pracovní list přes Go knihovna

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(), ","))
}

Použít styly a formátování

Knihovna Free library xlsx poskytuje několik důležitých funkcí, které umožňují vývojářům softwaru snadno aplikovat formátování a styly na jejich tabulky. Styly poskytují rozvržení a dekoraci buněk, jako je písmo, barva, zarovnání obsahu, velikost písma, výplň atd. Styl můžete snadno použít na řadu buněk pomocí pouhých několika řádků kódu. Stačí vytvořit styl jednou a v případě potřeby jej znovu použít. Pro buňky můžete také použít formát čísla a data.

Použijte styly a formátování do souboru Excel prostřednictvím knihovny Go

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)
}
 Čeština