Вступ

Окрім створення та оформлення робочих книг, більшість щоденного коду електронних таблиць витрачає час на читання та запис значень клітинок, прикріплення формул і переміщення даних між XLSX та CSV. Aspose.Cells FOSS для Go охоплює всі три через типи Workbook і Cells.

Бібліотека доступна як Go-модуль за адресою github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go і випущена під ліцензією MIT. Встановіть її за допомогою go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 у будь-який проєкт Go 1.24+.

У цьому дописі розглядаються читання/запис клітинок, формули, конвертація CSV та видалення клітинок.


Ключові можливості

Створення робочої книги та запис клітинок

NewWorkbook() повертає робочу книгу з уже наявним одним аркушем. Записуйте значення за допомогою Cells().Set(ref, value):

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Category")
ws.Cells().Set("C1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", "Gadgets")
ws.Cells().Set("C2", 12.99)

wb.Save("inventory.xlsx")

Зчитати клітини назад

Cells().Get(ref) повертає *Cell для посилання разом з помилкою, якщо посилання недійсне:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("C2", 12.99)

cell, err := ws.Cells().Get("C2")
if err != nil {
	fmt.Printf("Error: %v\n", err)
	return
}
fmt.Printf("C2 = %v\n", cell.Value)

Використовуйте Cells().All(), щоб перерахувати кожну заповнену клітинку в колекції, коли потрібно пройтись по всьому аркушу.

Додати формулу

Cell.SetFormula зберігає рядок формули в клітинці. Спочатку створіть клітинку за допомогою Set, потім прикріпіть формулу — формула обчислюється Excel або LibreOffice під час відкриття, а не бібліотекою:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")

Перетворення CSV

Workbook.ExportToCSV записує заданий індекс листа у файл CSV з розділювачем за вашим вибором; Workbook.ImportFromCSV читає файл CSV у названий лист:

wb := cells_foss.NewWorkbook()

if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
	fmt.Printf("Error exporting: %v\n", err)
	return
}

Видалити клітину

Cells().Remove(ref) очищає значення клітинки:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A2", "Widget A")

if err := ws.Cells().Remove("A2"); err != nil {
	fmt.Printf("Error removing cell: %v\n", err)
}

Швидкий старт

Встановіть модуль:

go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26

Мінімальний робочий процес — створіть невелику таблицю значень і експортуйте її у CSV:

package main

import (
	"fmt"

	cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)

func main() {
	wb := cells_foss.NewWorkbook()
	ws := wb.Worksheets[0]

	ws.Cells().Set("A1", "Item")
	ws.Cells().Set("B1", "Price")
	ws.Cells().Set("A2", "Widget A")
	ws.Cells().Set("B2", 12.99)

	if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
		fmt.Printf("Error exporting: %v\n", err)
		return
	}
	fmt.Println("Exported inventory.csv")
}

Підтримувані формати

ФорматРозширенняЧитатиЗаписати
XLSX.xlsx
CSV.csv

XLSX-книги створюються в пам’яті за допомогою NewWorkbook і записуються за допомогою Workbook.Save. CSV є двостороннім через Workbook.ImportFromCSV та Workbook.ExportToCSV.


Open Source та ліцензування

Aspose.Cells FOSS для Go розповсюджується під ліцензією MIT. Немає обмежень використання, плати за виконання чи вимог реєстрації. Вихідний код доступний за адресою github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.

Комерційне використання дозволено згідно умов ліцензії MIT. Якщо вашому проєкту потрібна підтримка корпоративного рівня, розширене охоплення форматів або хмарна інтеграція, Aspose.Cells — Enterprise Product Family є окремою комерційною пропозицією.


Початок роботи

Пов’язані ресурси