Features

기능

Aspose.Cells FOSS for .NET은 Excel XLSX 스프레드시트를 생성, 읽기 및 수정하기 위한 순수 관리형 .NET 라이브러리입니다. 진입점은 Workbook 클래스이며, 워크시트, 정의된 이름 및 저장/로드 작업에 대한 접근을 제공합니다. 이 페이지는 간단한 코드 예제와 함께 모든 주요 기능 영역을 요약합니다.


워크북 생성, 로드 및 저장

new Workbook()으로 새 워크북을 생성합니다. 생성자에 파일 경로를 전달하여 기존 XLSX 파일을 로드합니다. LoadOptions을 사용하여 내결함성 로딩을 활성화합니다. 변경 사항을 영구 저장하려면 Workbook.Save(path)를 호출합니다.

using Aspose.Cells_FOSS;

// New workbook
var wb = new Workbook();
wb.Worksheets[0].Cells["A1"].PutValue("Hello");
wb.Save("output.xlsx");

// Load with repair options
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
try
{
    var loaded = new Workbook("input.xlsx", opts);
    Console.WriteLine(loaded.Worksheets[0].Cells["A1"].StringValue);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Load failed: " + ex.Message);
}

셀 데이터 및 수식

Cell.PutValue()을 사용하여 문자열, 정수, 소수, 부울 및 DateTime 값을 기록합니다. Excel 호환 수식 문자열을 할당하려면 Cell.Formula를 설정합니다. 표시 텍스트는 Cell.StringValue을 통해, 원시 값은 Cell.Value을 통해 읽어옵니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Qty");
ws.Cells["B1"].PutValue("Price");
ws.Cells["C1"].PutValue("Total");
ws.Cells["A2"].PutValue(10);
ws.Cells["B2"].PutValue(4.99m);
ws.Cells["C2"].Formula = "=A2*B2";

wb.Save("data.xlsx");

var loaded = new Workbook("data.xlsx");
Console.WriteLine(loaded.Worksheets[0].Cells["C2"].StringValue); // 49.9

셀 스타일링

어떤 셀에 Cell.GetStyle()Cell.SetStyle()가 있는 경우 Style 객체를 검색하고 수정합니다. Style 클래스는 Font(굵게, 기울임, 크기, 이름), ForegroundColor, Pattern(유형 FillPattern), HorizontalAlignment(HorizontalAlignmentType 사용) 및 Borders을 통한 테두리 제어를 제공합니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var cell = wb.Worksheets[0].Cells["A1"];
cell.PutValue("Styled Header");

var style = cell.GetStyle();
style.Font.Bold = true;
style.Font.Size = 14;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 198, 239, 206);
style.HorizontalAlignment = HorizontalAlignmentType.Center;
cell.SetStyle(style);

wb.Save("styled.xlsx");

조건부 서식

Worksheet.ConditionalFormattings은/는 ConditionalFormattingCollection을 반환합니다. Add()를 호출하여 규칙 집합을 만들고, 그 다음 AddCondition()를 사용하여 FormatConditionTypeOperatorType를 이용해 규칙을 추가합니다. 지원되는 조건 유형에는 CellValue, Expression, ColorScale, DataBar, 그리고 IconSet이 포함됩니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 10; i++)
    ws.Cells[i, 0].PutValue(i + 1);

var ruleSet = ws.ConditionalFormattings[ws.ConditionalFormattings.Add()];
ruleSet.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = ruleSet[ruleSet.AddCondition(FormatConditionType.CellValue, OperatorType.Between, "3", "7")];
var ruleStyle = rule.Style;
ruleStyle.Pattern = FillPattern.Solid;
ruleStyle.ForegroundColor = Color.FromArgb(255, 255, 199, 206);
rule.Style = ruleStyle;

wb.Save("cf.xlsx");

데이터 유효성 검사

Worksheet.Validations은/는 ValidationCollection을 반환합니다. Add(CellArea)를 호출하여 셀 범위에 대한 Validation을 생성합니다. ValidationType(List, Decimal, 또는 Custom)를 사용하여 Type 속성을 설정합니다. Formula1, Formula2, Operator, InputTitle, InputMessage, ErrorTitle, 및 ErrorMessage를 구성합니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

var listVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A1", "A10"))];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,Closed,Pending\"";
listVal.InCellDropDown = true;

var numVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B1", "B10"))];
numVal.Type = ValidationType.Decimal;
numVal.Operator = OperatorType.Between;
numVal.Formula1 = "0";
numVal.Formula2 = "100";
numVal.ShowError = true;

wb.Save("validation.xlsx");

자동 필터

Worksheet.AutoFilter은/는 AutoFilter 객체를 노출합니다. AutoFilter.Range를 설정하여 헤더 행 범위를 정의합니다. AutoFilter.FilterColumns(컬렉션)에 접근하고 Add(columnIndex)를 호출하여 특정 열에 대한 필터링을 활성화합니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Name");
ws.Cells["B1"].PutValue("Region");
ws.Cells["C1"].PutValue("Sales");
ws.Cells["A2"].PutValue("Alice"); ws.Cells["B2"].PutValue("North"); ws.Cells["C2"].PutValue(1200);

ws.AutoFilter.Range = "A1:C1";
ws.AutoFilter.FilterColumns.Add(1);

wb.Save("filter.xlsx");

하이퍼링크 및 정의된 이름

Worksheet.Hyperlinks은(는) HyperlinkCollection입니다. 외부 URL, 내부 셀 참조 또는 mailto 링크를 삽입하려면 Add()를 호출하십시오. 사용자에게 표시되는 텍스트는 Hyperlink.TextToDisplayHyperlink.ScreenTip로 설정합니다. Workbook.DefinedNames은(는) DefinedNameCollection이며; 명명된 범위를 만들려면 Add(name, refersTo)를 호출하십시오.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Docs");
var link = ws.Hyperlinks[ws.Hyperlinks.Add("A1", 1, 1, "https://docs.aspose.org/cells/net/")];
link.TextToDisplay = "Documentation";

wb.DefinedNames[wb.DefinedNames.Add("DataRange", "Sheet1!$A$1:$D$10")].Comment = "Main data range";

wb.Save("links.xlsx");

페이지 설정

Worksheet.PageSetup은(는) 인쇄 여백, 방향, 용지 크기, 인쇄 영역, 제목 행/열, 머리글, 바닥글 및 페이지 나누기를 제어합니다. PageOrientationTypePaperSizeType 열거형을 사용하십시오.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ps = wb.Worksheets[0].PageSetup;
ps.Orientation = PageOrientationType.Landscape;
ps.PaperSize = PaperSizeType.PaperA4;
ps.PrintArea = "$A$1:$H$50";
ps.CenterHeader = "My Report";
ps.CenterHorizontally = true;
ps.AddHorizontalPageBreak(25);

wb.Save("paged.xlsx");

워크시트 관리

WorksheetCollection을(를) 통해 워크시트를 추가, 이름 바꾸기, 숨기기 및 순서 변경합니다. WorksheetCollection.Add(name)은(는) 새 시트의 인덱스를 반환합니다. VisibilityType을(를) 사용하여 Worksheet.VisibilityType를 설정합니다. Cells.Merge()로 셀을 병합하고 Cells.RowsCells.Columns을(를) 통해 행/열 크기를 제어합니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.Worksheets[0].Name = "Summary";
var dataIdx = wb.Worksheets.Add("Data");
wb.Worksheets[dataIdx].VisibilityType = VisibilityType.Hidden;
wb.Worksheets.ActiveSheetName = "Summary";

var ws = wb.Worksheets["Summary"];
ws.Cells["A1"].PutValue("Title");
ws.Cells.Merge(0, 0, 1, 4);
ws.Cells.Rows[0].Height = 30d;
ws.Cells.Columns[0].Width = 20d;

wb.Save("worksheets.xlsx");

팁 및 모범 사례

  • 사용자가 제공한 경로에서 파일을 로드할 때 항상 WorkbookLoadException을(를) 잡아야 합니다.
  • 저장하려는 정확한 .NET 유형과 함께 Cell.PutValue()을(를) 사용하십시오 — 통화의 경우 decimal을, 날짜의 경우 DateTime을 전달합니다.
  • 디스플레이 텍스트를 보려면 Cell.StringValue를 읽고, 원시 .NET 객체가 필요할 때는 Cell.Value를 사용하세요.
  • 필요한 가장 넓은 범위에 조건부 서식 규칙 집합을 만들세요 — 행별 규칙은 큰 시트에서 비용이 많이 듭니다.
  • 각 셀을 쓸 때마다 호출하지 말고, 마지막에 한 번 wb.Save()를 호출하세요.

일반적인 문제

문제원인해결 방법
열 때 WorkbookLoadExceptionXLSX에서 손상된 ZIP 구조설정 LoadOptions.TryRepairPackage = true
수식이 빈 StringValue을 반환합니다로드 시 수식이 다시 계산되지 않음Workbook.Save() 라운드 트립 후 Cell.StringValue에 접근
하이퍼링크 주소가 원시 URL을 표시합니다TextToDisplay이 설정되지 않음Add() 뒤에 Hyperlink.TextToDisplay을 설정합니다.
워크시트 탭이 표시되지 않음VisibilityTypeHidden으로 설정됨설정 ws.VisibilityType = VisibilityType.Visible

FAQ

Aspose.Cells의 .NET용 FOSS가 Microsoft Office를 필요로 하나요?

아니요. 이 라이브러리는 순수 관리 코드이며 Office, Excel, 또는 COM 인터옵에 대한 의존성이 없습니다.

지원되는 파일 형식은 무엇인가요?

XLSX (읽기 및 쓰기). CSV, ODS, PDF, 및 바이너리 XLS는 이번 릴리스에서 지원되지 않습니다.

이 라이브러리를 상업용 애플리케이션에서 사용할 수 있나요?

네. Aspose.Cells FOSS는 MIT 라이선스 하에 공개되며, 로열티 없이 무제한 상업적 사용을 허용합니다.

최소 .NET 버전은 무엇인가요?

.NET 6.0 이상.

셀에 배경색을 적용하려면 어떻게 해야 하나요?

style.Pattern = FillPattern.Solidstyle.ForegroundColor = Color.FromArgb(...)을 설정한 다음, cell.SetStyle(style)를 호출합니다.


API Reference 요약

클래스 / 메서드설명
Workbook루트 클래스 — 워크북을 생성, 로드, 저장
Workbook.Worksheets다음 WorksheetCollection을 반환합니다
Workbook.Save(path)워크북을 디스크에 저장합니다
Workbook.DefinedNames이름이 지정된 범위 컬렉션
Worksheet.Cells셀 그리드 접근
Worksheet.ConditionalFormattings조건부 서식 규칙 집합
Worksheet.Validations데이터 유효성 검사 규칙
Worksheet.AutoFilter자동 필터 구성
Worksheet.Hyperlinks하이퍼링크 컬렉션
Worksheet.PageSetup인쇄 레이아웃 설정
Cell.PutValue()입력된 셀 데이터 쓰기
Cell.FormulaExcel 호환 수식 문자열
Cell.GetStyle() / Cell.SetStyle()셀 스타일 읽기/쓰기
Style.Pattern채우기 패턴 (FillPattern enum)
Style.HorizontalAlignment셀 정렬 (HorizontalAlignmentType)
LoadOptions내결함성 파일 로딩 옵션

참조

 한국어