Go API за обработка на Microsoft Excel XLSX електронни таблици

Библиотека Pure Go, която поддържа създаване, форматиране и манипулиране на MS Excel XLSX електронни таблици с лекота чрез Open Source Go API.

Xlsx2Go е чиста go библиотека с отворен код, която предоставя много лесен начин за работа с електронни таблици Microsoft Excel XLSX с помощта на команди на езика Go. Библиотеката е много стабилна и може да извършва бързи операции и дава много надежден начин за работа с електронната таблица XLSX с помощта на Golang. Само с няколко реда код можете да управлявате няколко операции, свързани със създаването, форматирането и манипулирането на електронни таблици.

Библиотеката Xlsx2Go включва поддръжка за няколко важни функции, свързани с обработката на електронни таблици в Excel, като създаване на нова електронна таблица, отваряне, модифициране или изтриване на съществуващ файл с електронна таблица, добавяне на нов лист в Excel към работна книга, добавяне на нови клетки, форматиране на клетка в Excel , валидиране на данни от клетки, поддръжка на условно форматиране, обединяване и премахване на обединяване на клетки от работен лист, вградени изображения и снимки, копиране на работни листове, копиране на редове или колони и много повече.

Previous Next

Първи стъпки с Xlsx2Go

Препоръчителният начин да инсталирате Xlsx2Go във вашия проект е чрез GitHub. Моля, използвайте следната команда за гладка инсталация.

Инсталирайте Xlsx2Go чрез GitHub

go get https://github.com/LucienLS/xlsx2go.git

Генерирайте XLSX електронна таблица чрез Go API

Библиотеката с отворен код Xlsx2Go позволява на компютърните програмисти да генерират електронна таблица на Excel XLSX в собствените си приложения, като използват команди Go. Можете също така лесно да отворите, промените или изтриете съществуваща електронна таблица. Можете също да използвате няколко важни функции като вмъкване на нови редове и колони в лист, задаване на стойността по подразбиране на клетка, прилагане на форматиране към диапазон от клетки и др.

Създаване и модифициране на Excel LS файл чрез Go API

func main() {
	// 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)
	}
}

Управление на клетки и редове в работен лист на Excel

Безплатната библиотека Xlsx2Go включва няколко важни функции, свързани с управлението на клетки и редове в електронни таблици на Excel. Можете лесно да вмъкнете нови редове и клетки, да обедините редове и клетки, да добавите коментар към клетка на Excel, да получите всички клетки в ред, създаване на нова клетка, да изберете диапазон от клетки, да приложите стилове към диапазон от клетки, да добавите хипервръзка към клетка, задайте час и дата в клетка и много други.

Вмъкване на колони и Рос в приложения за Go

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

Приложете Рос, Колони и Листове в работен лист

Понякога потребител или организация има множество работни листове с подобни структури (редове и колони) и иска да обедини информацията в един голям работен лист. Функцията за добавяне помага на разработчиците да добавят един работен лист или няколко работни листа към съществуващ или да комбинират всички в един нов работен лист. Библиотеката Xlsx2Go предоставя функционалност за програмно добавяне на колони, редове, както и листове в работен лист с лекота.

Приложете Рос, Колони и Листове чрез Гоу API

func main() {
	xl, err := xlsx.Open("./test_files/example_simple.xlsx")
	if err != nil {
		log.Fatal(err)
	}
	defer xl.Close()
	sheet := xl.Sheet(0)
	// To append a new col/row, simple request it - sheet will be auto expanded.
	// E.g.: we have 14 cols, 28 rows.
	fmt.Println(sheet.Dimension())
	// Append 72 rows
	sheet.Row(99)
	fmt.Println(sheet.Dimension())
	// Append 36 cols
	sheet.Col(49)
	fmt.Println(sheet.Dimension())
	// Append 3 sheet
	fmt.Println(strings.Join(xl.SheetNames(), ","))
	xl.AddSheet("new sheet")
	xl.AddSheet("new sheet")
	xl.AddSheet("new sheet")
	fmt.Println(strings.Join(xl.SheetNames(), ","))
}

Форматиране на електронни таблици чрез Go API

Безплатната библиотека Xlsx2Go позволява на разработчиците на софтуер да добавят стилове за форматиране на своите електронни таблици с помощта на Go команди. Разработчиците могат лесно да създадат нов формат, за да зададат стилове на шрифтове, цвят на шрифта, цвят на фона и много други. Можете да зададете форматиране за диапазон от клетки, както и за целия работен лист. Можете също да зададете форматиране по подразбиране за реда, както и за колона с лекота. Можете лесно да добавяте изображения и снимки към работен лист

Форматиране на таблицата чрез Go API

func main() {
	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)
}
 Български