Excelize v2.5.0
- 이에 출시: 2022 년 1 월 3 일
- GitHub 릴리스: https://github.com/xuri/excelize/releases/tag/v2.5.0
릴리스 노트
이 릴리스에서 가장 주목할 만한 변경 사항은 다음과 같습니다:
호환성
- 닫기 스프레드시트 및 행의 반복자가 필요합니다. 사용자는 행의 반복자를 사용한 후 스트림을 닫고 기존 스프레드시트를 연 후 스프레드시트를 닫아야 합니다
ReadZipReader
를File
의 구현으로 변경하고, 주어진 옵션으로 스프레드시트를 추출하고, 메모리에서 추출하거나 파일 시스템을 터치하도록 지원합니다- 불필요한 내보낸 변수
XMLHeader
를 제거합니다. 대신encoding/xml
패키지의xml.Header
를 사용할 수 있습니다 - 사용하지 않는 내보낸 오류 변수
ErrToExcelTime
제거
주목할 만한 기능
- 새 API: 행의 스타일 설정을 위한
SetRowStyle
지원, 관련 문제 #990 - 새 API: 셀의 데이터 유형 가져오기를 위한
GetCellType
지원, 관련 문제 #417 와 #520 - 새 API: 문서 애플리케이션 속성을 설정하고 가져오기 위한
SetAppProps
및GetAppProps
지원, 관련 문제 #1095 GetCellValue
,GetRows
,GetCols
,Rows
와Cols
는 원시 값으로 읽기 셀 지정을 지원합니다, 관련 문제 #621- 새로운 지원 95 공식 함수: ACCRINT, ACCRINTM, ADDRESS, AMORDEGRC, AMORLINC, AVEDEV, AVERAGEIF, CHIDIST, CONFIDENCE, CONFIDENCE.NORM, COUNTIF, COUNTIFS, COUPDAYBS, COUPDAYS, COUPDAYSNC, COUPNCD, COUPNUM, COUPPCD, DATEVALUE, DAY, DAYS, DELTA, DEVSQ, DISC, DURATION, ERF, ERF.PRECISE, ERFC, ERFC.PRECISE, GEOMEAN, GESTEP, IFNA, IFS, INDEX, INTRATE, ISFORMULA, ISLOGICAL, ISREF, ISOWEEKNUM, MATCH, MAXA, MAXIFS, MDURATION, MINIFS, MINUTE, MONTH, ODDFPRICE, PERCENTILE.EXC, PERCENTRANK.EXC, PERCENTRANK.INC, PERCENTRANK, PRICE, PRICEDISC, PRICEMAT, PV, QUARTILE.EXC, RANK, RANK.EQ, RATE, RECEIVED, RRI, SHEETS, SLN, STANDARDIZE, STDEV.P, STDEVP, SWITCH, SYD, TBILLEQ, TBILLPRICE, TBILLYIELD, TEXTJOIN, TIME, TRANSPOSE, TRIMMEAN, VALUE, VAR, VAR.S, VARA, VARPA, VDB, WEEKDAY, WEIBULL, WEIBULL.DIST, XIRR, XLOOKUP, XNPV, XOR, YEAR, YEARFRAC, YIELD, YIELDDISC, YIELDMAT, Z.TEST, ZTEST, 관련 문제 #1002
- 수식 계산 엔진은
IF
수식에 대해 중첩 계산을 지원합니다, 관련 문제 #987 - 수식 계산 엔진 지원 공유 수식 가져오기, 관련 문제 #844
- 수식 계산 엔진 지원 텍스트 비교, 관련 문제 #998
- 데이터 유효성 검사 범위에서 수식 지정 지원, 관련 문제 #1012
- 열린 파일 옵션에 지정된 압축 해제 크기 제한 지원, zip 폭탄 취약성 공격 방지
SetCellFormula
는 이제 공유 수식 설정을 지원합니다UpdateLinkedValue
는 매크로 시트를 건너뜁니다, 관련 문제 #1014- 잘못된 내부 관계 ID 계산으로 인해 일부 경우에
AddPicture
가 중복 이미지를 생성하는 문제 수정, 관련 문제 #1017 AddShape
는 도형 추가의 선 너비 설정을 지원하고, 관련 문제 #262- 새로운 옵션
UnzipXMLSizeLimit
압축 해제 워크시트 및 공유 문자열 테이블의 메모리 제한을 바이트 단위로 지정하는 지원 - 새 스타일을 생성할 때 잘못된 사용자 지정 숫자 형식을 지정하면 오류가 반환됩니다, 관련 문제 #1028
- 이제 스트림 작성기에서 행 스타일 설정 지원
- 스트림 작성자는 시간 유형 셀에 대한 시간 숫자 형식을 생성합니다, 관련 문제 #1107
- 이제 피벗 테이블에 대한 압축 및 개요 지정 지원, 관련 문제 #1029
- 스트림 리더에서 현재 행/열 및 총 행/열 가져오기 지원, 관련 문제 #1054
- 이제 셀 값을 설정할 때 시간대 위치를 지원합니다, 관련 문제 #1069
- 사용자가 다른 유형의 오류에 대해 다르게 행동할 수 있도록 7개의 오류 내보내기
호환성 개선
r="0"
속성이 있는 행 요소와의 호환성 향상- XML 제어 문자 유지
- Apple Numbers 와 스타일 설정의 호환성 개선, 관련 문제 #1059
- 머리글 바닥글 설정에서 멀티바이트 언어 지원, 관련 문제 #1061
- 셀 값을 설정할 때 가로 탭 문자 유지, 관련 문제 #1108
버그 수정
- 데이터 유효성 검사 삭제 실패 수정, 문제 해결 #979
- 경우에 따라 세트 데이터 유효성 검사 삭제 목록을 수정하지 못했습니다, 문제 해결 #986
- 수식 계산 엔진
LOOKUP
이 배열 형식을 올바르게 처리하지 않는 문제 수정, 문제 해결 #994 - 수식 계산 엔진
LOOKUP
이 정확히 일치하는 항목만 찾을 수 있는 문제 수정, 문제 해결 #997 - 잘못 계산된 공식 백분율 수정, 문제 해결 #993
- 경우에 따라 잘못된 셀 읽기로 인한 패닉 수정
- 조건부 형식 하단 N이 작동하지 않는 문제 수정
- 시간 구문 분석 정확도 문제 수정, 문제 해결 #1026 와 #1030
- 내장 과학 숫자 형식을 수정하지 못했습니다, 문제 해결 #1027
- 경우에 따라 작은 float 구문 분석 오류 수정, 문제 해결 #1031
- 경우에 따라 워크시트 삭제가 실패 수정
- 내장 시간 숫자 형식 구문 분석 오류 수정, 문제 해결 #1060
NewStyle
이 경우에 따라 잘못된 스타일 ID를 반환하는 문제 수정- 일부 모서리 케이스에서 행/열 삽입/삭제 후 병합된 셀 범위 오류 수정
성능 최적화
- 병합 셀 시간 비용 속도 향상, 이전에 출시된 버전 기반 시간 비용 90% 이상 감소
- 스트리밍 읽기 성능 향상, 대용량 내부 XML 시 시스템 임시 파일에 공유 문자열 테이블 압축 풀기, 이전 릴리스 버전 기준으로 메모리 사용량 최대 60% 감소, 관련 문제 #1096
- 워크시트 목록 읽기 속도 향상
- 열 스타일을 병합하여 스프레드시트 크기 줄이기, 문제 해결 #1057
기타
- Go Modules 는 모듈 업데이트에 의존합니다
- 단위 테스트 및 godoc 업데이트
- 중국어 간체, 영어, 프랑스어, 러시아어, 일본어, 한국어, 아랍어, 독일어 및 스페인어가 포함된 다국어 문서 사이트 업데이트
고맙습니다
Excelize 에 기여한 모든 분들께 감사드립니다. 아래는 이 버전에서 코드 기여도가 있는 기여자 목록입니다:
- @bailantaotao (bailantaotao)
- @threeq (Conrad Dally)
- @raochq (raochangquan)
- @stanim (Stani)
- @tvso (Tammy)
- @Jerring
- @seanliang (Sean Liang)
- @oneweek20169902 (li)
- @mwiesenbauer (Michael Wiesenbauer)
- @Dokiys (Dokiy)
- jaby
- @vst93 (vst)