소개
워크북을 만들고 스타일을 지정하는 것을 넘어, 대부분의 일상적인 스프레드시트 코드는 셀 값을 읽고 쓰고, 수식을 첨부하며, XLSX와 CSV 간에 데이터를 이동하는 데 시간을 보냅니다. Aspose.Cells FOSS for Go는 Workbook 및 Cells 타입을 통해 이 세 가지를 모두 지원합니다.
이 라이브러리는 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.ImportFromCSV와 Workbook.ExportToCSV를 통해 양방향으로 처리됩니다.
오픈 소스 및 라이선스
Aspose.Cells Go용 FOSS는 MIT 라이선스로 배포됩니다. 사용 제한이 없으며, 런타임 비용도 없고, 등록 요구 사항도 없습니다. 소스 코드는 다음에서 확인할 수 있습니다. github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.
MIT 라이선스 조항에 따라 상업적 사용이 허용됩니다. 프로젝트에 엔터프라이즈급 지원, 확장된 포맷 지원, 또는 클라우드 통합이 필요하다면, Aspose.Cells — Enterprise Product Family 는 별도의 상업용 제공입니다.