Excelize v2.11.0
- 이에 출시: 2026 년 7 월 7 일
- GitHub 릴리스: https://github.com/xuri/excelize/releases/tag/v2.10.1
릴리스 노트
이 릴리스에서 가장 주목할 만한 변경 사항은 다음과 같습니다:
하위 호환성 변경 사항
- 요구 사항 업데이트: 종속성 패키지
golang.org/x/net업그레이드로 인해 Go 언어 버전 1.25.0 이상이 필요합니다 AddChart,AddChartSheet,AddShape함수의 하위 호환성 변경 사항Chart의Title필드 데이터 형식을[]RichTextRun에서ChartTitle로 변경Shape의Line필드 데이터 형식을ShapeLine에서LineOptions로 변경- 데이터 형식
ChartDashType을LineDashType으로 이름 변경 - 데이터 형식
ChartLineType을LineType으로 이름 변경 - 데이터 형식
ChartLine을LineOptions로 이름 변경
보안
- 무한 메모리 할당 방지를 위해 워크시트 읽기 시 행 번호 검사 (CVE-2026-54063), 관련 보안 권고사항 #GHSA-h69g-9hx6-f3v4
- 워크시트 행 번호 오버플로 최대 제한 유효성 검사를 통해 공격자가 제어하는 메모리 할당 방지 (CVE-2026-59161), 관련 보안 권고사항 #GHSA-q5j5-6p94-4gwc
- 공유 문자열 테이블의 잘못된 인덱스로 셀 값 가져오기 시 패닉 방지 (CVE-2026-59162), 관련 보안 권고사항 #GHSA-fx5j-qcqg-grpf
새로운 기능
- 새로운 데이터 형식
ChartTitle추가 - 새로운 데이터 형식
PivotTableShowValuesAs추가 - 새로운 열거형
PivotTableShowValuesAsType추가 - 3개의 새로운 내보내기 오류 변수 추가:
ErrPivotTableShowValuesAsBaseField,ErrPivotTableShowValuesAsBaseItem,ErrUnsupportedPivotTableShowValuesAsType - 데이터 형식
PivotTableField에 새로운 필드ShowValuesAs추가 - 데이터 형식
PivotTableOptions및SlicerOptions에 새로운 필드SelectedItems추가 - 열 너비 자동 맞춤을 지원하는 새로운 함수
AutoFitColWidth추가, 관련 이슈 #92 SetSheetName함수가 유효하지 않은 원본 이름의 시트 이름 변경을 허용하지 않던 문제 수정, 관련 이슈 #548CalcCellValue함수에서 물결표 와일드카드 기준 지원CalcCellValue함수에서 암시적 교집합을 지원하고 정규식 기준 앵커링 수정CalcCellValue함수에서 시트 범위에 걸친 3D 참조 지원, 관련 이슈 #2303CalcCellValue함수에서 셀 원시 값과 함께 수식 계산 결과 반환 지원, 관련 이슈 #2316AddPivotTable함수에서 동일한 데이터 필드가 피벗 테이블의 열, 행 및 필터 필드에 동시에 나타나는지 여부를 검사하여 손상된 통합 문서 생성 방지AddPivotTable및GetPivotTables함수에서 피벗 테이블 데이터 필드의 "값 표시 형식" 설정 및 가져오기 지원, 관련 이슈 #2340AddPivotTable,AddSlicer,GetPivotTables,GetSlicers함수에서 피벗 테이블 및 피벗 테이블 슬라이서의 선택된 항목 설정 및 가져오기 지원, 관련 이슈 #2154AddChart및AddChartSheet함수에서 수식을 사용한 차트 제목 설정 지원AddChart및AddChartSheet함수에서 차트 제목 및 차트 축 제목의 레이아웃 설정 지원AddChart및AddChartSheet함수에서 차트 제목 및 차트 축 제목의 선 서식 설정 지원AddShape함수에서 도형의 선 서식 설정 지원NewStyle함수에서 사용자 지정 색상 값이 지정되지 않은 경우 단색 채우기 스타일 생성 시 전경색 및 배경색 자동 설정 지원
호환성 개선
- 차트 시트에서 Excel Online 및 KingSoft WPS™ Office 에 차트가 표시되지 않는 문제 수정, 관련 이슈 #2273
버그 수정
- v2.8.1 버전에서 도입된 회귀 문제 수정 #1383
- 채우기 시리즈가 없는 차트 추가 시
AddChart함수에서 패닉이 발생하는 문제 수정 - 일부 경우 잘못된 행 참조 시
CalcCellValue함수에서 패닉이 발생하는 문제 수정, 이슈 #2266 CalcCellValue함수 사용 시 수식의 정확한 텍스트 일치가 부분 문자열과 일치하지 않는 문제 수정CalcCellValue함수에서 수식 함수 BINOM.INV, CHIINV, CHISQ.DIST, IMSECH, IMSQRT 및 NEGBINOM.DIST의 계산 정확도 문제 수정- 일부 경우
CalcCellValue함수가 FREQUENCY 의 잘못된 계산 결과를 반환하는 문제 수정 - 괄호 또는 연산자 내에 오류 값이 있을 때
CalcCellValue함수가 잘못된 계산 결과를 반환하는 문제 수정, 이슈 #2344 - 작성자가 이미 작성자 목록에 존재하는 경우
AddComment함수가 모든 메모에 잘못된 작성자 ID를 할당하는 문제 수정, 이슈 #2289 - 오류 반환 전 파일 잠금 해제기가 호출되지 않아 발생할 수 있는 교착 상태 수정
- 쉼표 배율이 포함된 사용자 지정 숫자 서식이 올바르게 적용되지 않는 문제 수정, 이슈 #2297
- 열 반복자를 통해 잘못된 워크시트 XML이 포함된 손상된 통합 문서를 읽을 때 패닉이 발생하는 문제 수정, 이슈 #2299
- 외부 참조가 포함된 수식 조정 후 작은따옴표가 누락되는 문제 수정
- 일부 경우 ECMA-376 Agile 암호화 및 SHA512 해시 알고리즘으로 보호된 통합 문서의 복호화에 실패하는 문제 수정, 이슈 #2328
SetCellFormula함수가 일반 수식으로 덮어쓸 때 공유 수식 메타데이터를 지우지 않는 문제 수정, 이슈 #2337
성능 최적화
- 암호화되지 않은 통합 문서 읽기 시 메모리 사용량 감소, 행 반복자 메모리 사용량 최대 85% 감소
- 좌표 변환 및 일부 내부 함수의 성능 최적화
ColumnNumberToName함수의 메모리 할당 약 90% 감소CoordinatesToCellName함수의 메모리 할당 약 13% 감소- 내부 함수
isNumeric의 메모리 할당 약 68% 감소
기타
- Go Modules 는 모듈 업데이트에 의존합니다
- 단위 테스트 및 godoc 업데이트
- 다국어를 지원하는 문서 웹사이트: 아랍어, 독일어, 영어, 스페인어, 프랑스어, 이탈리아어, 일본어, 한국어, 포르투갈어, 러시아어, 중국어 간체 및 중국어 번체, 업데이트됨
- excelize-wasm WebAssembly / JavaScript 지원을 위한 NPM 패키지 릴리스 업데이트
- excelize Python 을 위한 PyPI 패키지 릴리스 업데이트
- ExcelizeCs C# 을 위한 NuGet .Net 패키지 릴리스 업데이트
고맙습니다
Excelize 에 기여한 모든 분들께 감사드립니다. 아래는 이 버전에서 코드 기여도가 있는 기여자 목록입니다:
- @Rynzie02 (Rynzie)
- @jpoz (James Pozdena)
- @tvso (Tammy)
- @yyt030 (yyt)
- @hwo411 (Igor Khodyrev)
- @JimLee0921 (TuoLee)
- @zhuyanhuazhuyanhua (zhuhua)
- @kenny-not-dead (Roman Sergeev)
- @debugdoctor (Debug Doctor)
- @Journeyman150 (Vladislav Anisimov)
- @ivolkoff (Ivan Volkov)
- @plandem (Andrey G.)
- @martskins
- @shcabin
- @narasaka (Nathanael Tehilla Gunawan)
- @lawrence3699 (chaoliang yan)
- @SAY-5 (Sai Asish Y)
- @noahchiu22 (Noah)
- @rootsec1 (Abhishek Murthy)
- @guangxuewu
- @AdamDrewsTR (Adam Drews)
- @grmblfrz (Swen Thümmler)
- @WaterRRabbit
- @krystophny (Christopher Albert)
- @Aprax14 (Damiano Scarpellini)
- @artur-chopikian (Artur Chopikian)
- @huijian3139 (Jason)