Excelize v2.7.0
- 이에 출시: 2023 년 1 월 9 일
- GitHub 릴리스: https://github.com/xuri/excelize/releases/tag/v2.7.0
릴리스 노트
이 릴리스에서 가장 주목할 만한 변경 사항은 다음과 같습니다:
호환성
- 업그레이드 요구 사항 Go 언어 버전은 사용 중단 패키지
ioutil
의 마이그레이션을 위해 1.16 이상입니다 - 유효하지 않은 문자를 자르는 대신 유효하지 않은 시트 이름에 대한 오류 확인 및 반환
GetCellStyle
함수는 병합 셀 범위의 마스터 셀 스타일을 더 이상 반환하지 않습니다- 5 개의 내보낸 데이터 유형 및 오류 상수의 이름을 바꿉니다:
PivotTableOption
의 이름을PivotTableOptions
로 바꿉니다FormatHeaderFooter
의 이름을HeaderFooterOptions
로 바꿉니다FormatSheetProtection
의 이름을SheetProtectionOptions
로 바꿉니다SparklineOption
의 이름을SparklineOptions
로 바꿉니다ErrExistsWorksheet
의 이름을ErrExistsSheet
로 바꿉니다
- 내보낸 유형 54 개 제거:
AutoPageBreaks
,BaseColWidth
,BlackAndWhite
,CodeName
,CustomHeight
,Date1904
,DefaultColWidth
,DefaultGridColor
,DefaultRowHeight
,EnableFormatConditionsCalculation
,FilterPrivacy
,FirstPageNumber
,FitToHeight
,FitToPage
,FitToWidth
,OutlineSummaryBelow
,PageLayoutOption
,PageLayoutOptionPtr
,PageLayoutOrientation
,PageLayoutPaperSize
,PageLayoutScale
,PageMarginBottom
,PageMarginFooter
,PageMarginHeader
,PageMarginLeft
,PageMarginRight
,PageMarginsOptions
,PageMarginsOptionsPtr
,PageMarginTop
,Published
,RightToLeft
,SheetFormatPrOptions
,SheetFormatPrOptionsPtr
,SheetPrOption
,SheetPrOptionPtr
,SheetViewOption
,SheetViewOptionPtr
,ShowFormulas
,ShowGridLines
,ShowRowColHeaders
,ShowRuler
,ShowZeros
,TabColorIndexed
,TabColorRGB
,TabColorTheme
,TabColorTint
,ThickBottom
,ThickTop
,TopLeftCell
,View
,WorkbookPrOption
,WorkbookPrOptionPtr
,ZeroHeight
과ZoomScale
- 내보낸 상수 2 개 제거:
OrientationPortrait
과OrientationLandscape
- 21 기능 서명 변경:
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error
를func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
로 변경func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) error
를func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
로 변경func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) error
를func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
로 변경func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) error
를func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
로 변경func (f *File) GetSheetIndex(sheet string) int
를func (f *File) GetSheetIndex(sheet string) (int, error)
로 변경func (f *File) SetSheetName(source, target string)
를func (f *File) SetSheetName(source, target string) error
로 변경func (f *File) GetSheetVisible(sheet string) bool
를func (f *File) GetSheetVisible(sheet string) (bool, error)
로 변경func (f *File) DeleteSheet(sheet string)
를func (f *File) DeleteSheet(sheet string) error
로 변경func (f *File) NewSheet(sheet string) int
를func (f *File) NewSheet(sheet string) (int, error)
로 변경func (f *File) NewConditionalStyle(style string) (int, error)
를func (f *File) NewConditionalStyle(style *Style) (int, error)
로 변경func (f *File) NewStyle(style interface{}) (int, error)
를func (f *File) NewStyle(style *Style) (int, error)
로 변경func (f *File) AddChart(sheet, cell, opts string, combo ...string) error
를func (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
로 변경func (f *File) AddChartSheet(sheet, opts string, combo ...string) error
를func (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
로 변경func (f *File) AddShape(sheet, cell, opts string) error
를func (f *File) AddShape(sheet, cell string, opts *Shape) error
로 변경func (f *File) AddPicture(sheet, cell, picture, format string) error
를func (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error
로 변경func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) error
를func (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error
로 변경func (f *File) AddTable(sheet, hCell, vCell, opts string) error
를func (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
로 변경func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error
를func (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
로 변경func (f *File) AutoFilter(sheet, hCell, vCell, opts string) error
를func (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
로 변경func (f *File) SetPanes(sheet, panes string) error
를func (f *File) SetPanes(sheet string, panes *Panes) error
로 변경func (f *File) SetConditionalFormat(sheet, reference, opts string) error
를func (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
로 변경
- 기존 함수 대신 새 함수 도입:
SetSheetPrOptions
및SetSheetFormatPr
대신SetSheetProps
를 사용하십시오GetSheetPrOptions
및GetSheetFormatPr
대신GetSheetProps
를 사용하십시오SetSheetViewOptions
대신SetSheetView
사용GetSheetViewOptions
대신GetSheetView
사용SetWorkbookPrOptions
대신SetWorkbookProps
사용GetWorkbookPrOptions
대신GetWorkbookProps
사용- 한 번에 여러 행 삽입을 지원하려면
InsertRow
대신InsertRows
를 사용하세요 - 한 번에 여러 열 삽입을 지원하려면
InsertCol
대신InsertCols
를 사용하세요
CellTypeFormula
,CellTypeInlineString
,CellTypeSharedString
을 추가하고CellType
열거에서CellTypeString
을 제거합니다AddComment
기능에 대한 매개변수가 변경되었습니다. 주석에 서식 있는 텍스트 생성 지원, 관련 문제 #1204- 내부 오류 로그 인쇄를 제거합니다. XML 역직렬화 오류가 발생하면 오류가 반환됩니다.
GetComments
,GetDefaultFont
및SetDefaultFont
함수에 대한 오류 반환 값을 추가합니다
주목할 만한 기능
- 데이터 유효성 검사 및 조건부 형식을 얻기 위해
GetDataValidations
및GetConditionalFormat
이라는 새로운 함수를 추가합니다, 관련 문제 #827 - 통합 문서 보호 지원을 위한 새로운 기능
ProtectWorkbook
및UnprotectWorkbook
추가 - 워크 시트 열 셀 설정에 대한 새 함수
SetSheetCol
추가, 관련 문제 #1247 - 열 스타일 가져오기를 위한 새로운 함수
GetColStyle
추가, 관련 문제 #1293 - 주어진 이미지 데이터로 배경 그림을 설정하기 위한 새로운 기능
SetSheetBackgroundFromBytes
추가, 관련 문제 #1405 - 새 내보내기 변수 추가
IndexedColorMapping
- 내보내기 유형 20 개 추가:
AutoFilterListOptions
,AutoFilterOptions
,Chart
,ChartAxis
,ChartDimension
,ChartLegend
,ChartLine
,ChartMarker
,ChartPlotArea
,ChartSeries
,ChartTitle
,ConditionalFormatOptions
,PaneOptions
,Panes
,GraphicOptions
,Shape
,ShapeColor
,ShapeLine
,ShapeParagraph
및TableOptions
- 새로운 지원 2 공식 함수: AGGREGATE 및 SUBTOTAL
Save
,Write
및WriteTo
기능은 이제 저장 옵션을 허용합니다, 관련 문제 #744AddChart
기능 지원은 꺾은선형 차트의 부드러운 선인지 여부를 지정합니다, 관련 문제 #1290AddChart
기능 지원 차트에서 사용자 정의 선 색상을 설정, 관련 문제 #1345AddChart
기능은 사용자 지정 차트 축 글꼴 스타일을 지원합니다, 관련 문제 #320AddChart
기능 지원 3D 꺾은선형 차트 만들기SetColWidth
,GetColWidth
,SetColVisible
,GetColVisible
,SetColStyle
및GetColStyle
함수는 이제 동시성 안전을 지원합니다- 존재하지 않는 스타일 ID 를 설정할 때 오류가 반환됩니다, 관련 문제 #1323
- 오름차순 행 번호 없이 스트림 행을 설정하면 잠재적인 실수를 방지하기 위해 오류가 반환됩니다, 관련 문제 #1139
- 스트림 작성기는 각 셀에 대해
RowOpts
의 스타일을 적용합니다, 관련 문제 #1354 - 창 설정을 위한 스트림 작성기 지원, 관련 문제 #1047
- 인라인 서식 있는 텍스트 셀을 설정하는 스트림 작성기 지원
- 페이지 나누기를 삽입하기 위한 스트림 작성자 지원
- 새로운 5개의 내보낸 오류
ErrStreamSetPanes
,ErrSheetNameBlank
,ErrSheetNameInvalid
,ErrSheetNameLength
및ErrSheetNameSingleQuote
가 추가되었습니다 - 7 개의 새로운 내보내기 데이터 유형 소개:
ErrUnprotectWorkbook
,ErrUnprotectWorkbookPassword
,HeaderFooterOptions
,PageLayoutMarginsOptions
,PageLayoutOptions
,SheetPropsOptions
과ViewOptions
- 윤곽선의 세부 정보 오른쪽에 표시되도록 요약 열을 설정하는 지원
- 테마와 색조로 글꼴 색상을 설정하고 얻을 수있는 지원, 관련 문제 #1369
- ISO 8601 형식의 날짜가 포함된 셀 값 가져오기 지원
- 색인 색상으로 글꼴 색상 설정 및 가져오기 지원
- 열을 삽입하거나 삭제할 때 업데이트 열 스타일 지원
- 통합 문서
Close
기능은 이제 정리 스트림 작성기 임시 파일을 지원합니다 - 이제
AddPicture
기능을 사용하여 SVG 형식 이미지를 삽입할 수 있습니다
호환성 개선
버그 수정
- 빌드 인 숫자 형식으로 십진수 형식 라운드 문제 해결, 관련 문제 #1328, #1368 과 #1373
- 경우에 따라 AM/PM 번호 형식 적용 문제 수정, 관련 문제 #1338
- 범위를 벗어난 슬라이스 경계로 인해 발생한 주석을 삭제할 때 패닉을 수정하십시오, 관련 문제 #1343
- 경우에 따라 셀 값을 가져올 때 패닉 수정, 관련 문제 #1384 과 #1415
- 긴 자릿수 문자열로 기본 숫자 형식 구문 분석 문제 해결, 관련 문제 #1360
- 빈 이름의 시트를 만들면 파일이 손상되는 문제 해결, 관련 문제 #1361
- 이미지 삽입 후 이미지 내용이 비어 있는 문제 해결
- 경우에 따라 열 / 행을 삽입 한 후 통합 문서 손상 생성 수정
- 수식 셀을 작성할 때 계산 체인에서 공유 수식을 삭제하여 경우에 따라 통합 문서 손상 생성 수정
- 시트 이름을 정규화하여 2.6.0 과 2.6.1 사이의 동작 회귀를 수정합니다, 관련 문제 #1365
OR
함수의 공식 계산 결과 문제 수정- 하나의 셀 병합된 셀 범위가 포함된 워크시트에 열 또는 행 삽입 시 오류 수정
- 하나의 셀 병합된 셀 범위가 포함된 워크시트에서 병합된 셀 범위 가져오기 오류 수정
- 경우에 따라 불완전한 서식 있는 텍스트 셀 값을 가져오는 문제 수정
- 손상된 파일을 방지하기 위해 스트림 작성기용 이스케이프 XML 문자, 관련 문제 #1391
- 워크시트 이름이 비어 있는 수식 함수 ADDRESS 결과 오류 수정, 관련 문제 #1396
- 경우에 따라 그림 삽입 문제 수정, 관련 문제 #1404
성능 최적화
- 스트림 라이터 병합 셀의 성능 향상, 시간 비용 90% 이상 감소, 최대 약 86% 메모리 사용량 감소
- 스트림 라이터
SetRow
기능의 성능 향상, 메모리 사용량 감소 및 약 19% 속도 향상
기타
- Go Modules 는 모듈 업데이트에 의존합니다
- 단위 테스트 및 godoc 업데이트
- 변수 및 함수에 특수 이름 사용
- 중국어 간체, 영어, 프랑스어, 러시아어, 일본어, 한국어, 아랍어, 독일어 및 스페인어가 포함된 다국어 문서 사이트 업데이트
고맙습니다
Excelize 에 기여한 모든 분들께 감사드립니다. 아래는 이 버전에서 코드 기여도가 있는 기여자 목록입니다:
- @cdenicola (Cooper de Nicola)
- @chenliu1993
- @davidborry
- @patsak (Kostya Privezentsev)
- @dafengge0913
- @Beeb0p (Artem Tarasenko)
- @invzhi
- @zhangzitao (Zitao)
- @jtwatson (Joseph Watson)
- @carbin-gun (charles.deng)
- @harrison3000 (Harrison)
- @strivek (GaoFei)
- @gonghaibinx
- @martinmr (Martin Martinez Rivera)
- @zclark (Zach Clark)
- @March0715 (March)
- @renxiaotu
- @devloppper
- @jianxinhou
- @nesstord
- @Bayzet (Bayzet Tlyupov)
- @guoweikuang (郭伟匡)
- @qinyuguang (Gin)
- @liron-l (Liron Levin)