셀 작업하기
개요
각 워크시트는 cells Excel 스타일 주소 문자열을 매핑하는 컬렉션 (예를 들어 "A1", "B3") to Cell 객체. 셀에 직접 서브스크립트로 접근할 수 있습니다:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Access a cell by address
cell = ws.cells["A1"]값, 수식 및 스타일 정보는 모두 Cell 객체에 있습니다. 할 수 있습니다 셀을 제자리에서 변경하려면 해당 .value 또는 .formula 속성에, 또는 새 Cell 인스턴스를 주소에 할당하여 셀을 완전히 교체합니다.
값 읽기 및 쓰기
할당하려면 cell.value 문자열, 정수 또는 부동소수점을 쓰려면. 동일한 속성을 다시 읽어 저장된 값을 가져옵니다.
from aspose.cells_foss import Workbook
workbook = Workbook()
ws = workbook.worksheets[0]
##Write a string
ws.cells["A1"].value = "Hello, world"
##Write an integer
ws.cells["A2"].value = 42
##Write a float
ws.cells["A3"].value = 3.14159
##Read values back
print(ws.cells["A1"].value) # Hello, world
print(ws.cells["A2"].value) # 42
print(ws.cells["A3"].value) # 3.14159
workbook.save("values_demo.xlsx")해당 .value property는 모든 Python 스칼라를 허용합니다. 라이브러리는 Python 타입을 그대로 저장합니다; 쓰기 시에 암시적 변환이 발생하지 않습니다.
Cell 생성자 사용하기
그 Cell constructor는 값을 가진 셀을 생성할 수 있게 해줍니다 (선택적으로 a 수식) 하나의 표현식으로. 결과를 할당합니다 Cell 객체를 주소 첨자를 사용하여 시트에 배치합니다.
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Integer cell
ws.cells["A1"] = Cell(42)
##String cell
ws.cells["A2"] = Cell("Revenue")
##Float cell
ws.cells["A3"] = Cell(3.14)
##Explicitly empty cell (no value, no formula)
ws.cells["A4"] = Cell(None)
workbook.save("cell_constructor_demo.xlsx")첫 번째 위치 인수는 Cell 값입니다. 전달할 때 None 그 셀은 값 없이 저장되며, 이는 수식을 설정하려는 경우에 유용합니다 별도로 설정하거나, 존재하지 않는 셀 대신 명시적으로 빈 셀을 원할 때.
수식 셀
수식 셀은 정적 값과 함께(또는 대신) Excel 호환 표현식 문자열을 저장합니다. 이를 생성하는 방법은 두 가지가 있습니다.
Cell 생성자를 통해 — 값을 전달 None 값으로, 수식 문자열을 두 번째 인수로:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"] = Cell(10)
ws.cells["A2"] = Cell(20)
ws.cells["A3"] = Cell(30)
##Formula via constructor: value=None, formula="=SUM(A1:A3)"
ws.cells["A4"] = Cell(None, "=SUM(A1:A3)")
workbook.save("formula_constructor.xlsx")을 통해 .formula 속성 — 기존 셀의 속성을 설정합니다:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
for i, v in enumerate([5, 10, 15, 20, 25], start=1):
ws.cells[f"A{i}"].value = v
ws.cells["B1"].formula = "=AVERAGE(A1:A5)"
workbook.save("formula_property.xlsx")일반 수식 빠른 참고
| 목적 | 수식 문자열 |
|---|---|
| 범위 합계 | =SUM(A1:A10) |
| 범위 평균 | =AVERAGE(A1:A10) |
| 최대값 | =MAX(A1:A10) |
| 최소값 | =MIN(A1:A10) |
| 비어 있지 않은 개수 | =COUNT(A1:A10) |
| 조건부 값 | =IF(A1>0,"Positive","Non-positive") |
| 값 조회 | =VLOOKUP(D1,A1:B10,2,FALSE) |
| 문자열 연결 | =CONCATENATE(A1," ",B1) |
수식 문자열은 다음으로 시작해야 합니다 =. 라이브러리는 이를 그대로 저장합니다; Excel (또는 호환 가능한 리더) 파일이 열릴 때 식을 평가합니다.
데이터 반복하기
표준 Python 루프를 사용하여 목록에서 열이나 행을 채웁니다:
from aspose.cells_foss import Workbook
workbook = Workbook()
ws = workbook.worksheets[0]
monthly_sales = [12_500, 14_200, 9_800, 17_600, 21_100, 18_400]
##Write a header
ws.cells["A1"].value = "Monthly Sales"
##Write data starting at row 2 (index 1 → address A2)
for i, val in enumerate(monthly_sales, start=2):
ws.cells[f"A{i}"].value = val
##Write a SUM formula below the data
last_row = 1 + len(monthly_sales) # row index of last data cell
ws.cells[f"A{last_row + 1}"].formula = f"=SUM(A2:A{last_row})"
workbook.save("monthly_sales.xlsx")그 enumerate(iterable, start=N) 패턴이 Excel 행 번호에 깔끔하게 매핑됩니다 Excel 행은 1부터 시작하기 때문입니다. 시작 위치는 start=2 행 1을 … 용도로 예약합니다 헤더.
혼합 값 유형
다음의 완전한 예제는 텍스트 헤더 행, 정수, 실수, 문자열을 포함하는 세 개의 데이터 행, 그리고 숫자 열을 요약하는 수식 행을 가진 작은 데이터 세트를 구축합니다.
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##--- Header row ---
ws.cells["A1"].value = "Product"
ws.cells["B1"].value = "Units Sold"
ws.cells["C1"].value = "Unit Price"
ws.cells["D1"].value = "Revenue"
##--- Data rows ---
##Row 2
ws.cells["A2"] = Cell("Widget A")
ws.cells["B2"] = Cell(120)
ws.cells["C2"] = Cell(9.99)
ws.cells["D2"] = Cell(None, "=B2*C2")
##Row 3
ws.cells["A3"] = Cell("Widget B")
ws.cells["B3"] = Cell(85)
ws.cells["C3"] = Cell(14.50)
ws.cells["D3"] = Cell(None, "=B3*C3")
##Row 4
ws.cells["A4"] = Cell("Widget C")
ws.cells["B4"] = Cell(200)
ws.cells["C4"] = Cell(4.75)
ws.cells["D4"] = Cell(None, "=B4*C4")
##--- Summary row ---
ws.cells["A5"].value = "TOTAL"
ws.cells["B5"] = Cell(None, "=SUM(B2:B4)")
ws.cells["D5"] = Cell(None, "=SUM(D2:D4)")
workbook.save("mixed_types_dataset.xlsx")
print("Saved mixed_types_dataset.xlsx")Excel(또는 호환 가능한 스프레드시트 애플리케이션)에서 파일을 연 후, 그 D 열 및 the B5 / D5 셀은 평가된 결과를 표시합니다 수식 표현식의.
팁
None 값 vs 빈 문자열
Cell(None) 그리고 ws.cells["A1"].value = None 저장된 값이 없는 셀을 만들기 값 — 대부분의 스프레드시트에서 한 번도 쓰여지지 않은 셀과 구분할 수 없습니다 리더. Cell("") 또는 ws.cells["A1"].value = "" 명시적으로 셀을 만들기 빈 문자열을 포함하며, 일부 리더와 수식은 이를 다르게 처리합니다 (예를 들어, =COUNT 빈 문자열 셀을 빈 셀을 무시하는 것과 같은 방식으로 무시합니다 셀을, 하지만 =COUNTA 그것들을 계산합니다).
수식 문자열 vs 정적 값
읽기 .value 수식 셀에서 읽으면 반환됩니다 None (또는 마지막 캐시된 값이 수식이 할당되기 전에 설정된 경우). 읽기 .formula 반환합니다 표현식 문자열을 반환합니다. 수식 셀과 …를 구분해야 하는 경우 런타임에서 plain-value 셀을 확인하고, 여부를 검사합니다 ws.cells["A1"].formula 비어 있지 않음:
cell = ws.cells["A1"]
if cell.formula:
print(f"Formula: {cell.formula}")
else:
print(f"Value: {cell.value}")또 보기
- API 레퍼런스: 전체 클래스 및 메서드 문서
aspose.cells_foss - 지식 베이스: 작업 지향형 사용 방법 가이드
- 제품 개요: 기능 및 역량 요약
- 시작하기 / 설치: pip install 및 설정
- 블로그: Aspose.Cells FOSS 소개: 라이브러리 개요 및 빠른 시작