소개

워크북을 만들고 스타일을 지정하는 것을 넘어, 대부분의 일상적인 스프레드시트 코드는 셀 값을 읽고 쓰고, 수식을 첨부하며, XLSX와 CSV 간에 데이터를 이동하는 데 시간을 보냅니다. Aspose.Cells FOSS for Go는 WorkbookCells 타입을 통해 이 세 가지를 모두 지원합니다.

이 라이브러리는 github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go에서 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.ImportFromCSVWorkbook.ExportToCSV를 통해 양방향으로 처리됩니다.


오픈 소스 및 라이선스

Aspose.Cells Go용 FOSS는 MIT 라이선스로 배포됩니다. 사용 제한이 없으며, 런타임 비용도 없고, 등록 요구 사항도 없습니다. 소스 코드는 다음에서 확인할 수 있습니다. github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.

MIT 라이선스 조항에 따라 상업적 사용이 허용됩니다. 프로젝트에 엔터프라이즈급 지원, 확장된 포맷 지원, 또는 클라우드 통합이 필요하다면, Aspose.Cells — Enterprise Product Family 는 별도의 상업용 제공입니다.


시작하기

관련 리소스