xuri
f58dabd492
Breaking change: changed the function signature for 11 exported functions
...
* Change
`func (f *File) NewConditionalStyle(style string) (int, error)`
to
`func (f *File) NewConditionalStyle(style *Style) (int, error)`
* Change
`func (f *File) NewStyle(style interface{}) (int, error)`
to
`func (f *File) NewStyle(style *Style) (int, error)`
* Change
`func (f *File) AddChart(sheet, cell, opts string, combo ...string) error`
to
`func (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error`
* Change
`func (f *File) AddChartSheet(sheet, opts string, combo ...string) error`
to
`func (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error`
* Change
`func (f *File) AddShape(sheet, cell, opts string) error`
to
`func (f *File) AddShape(sheet, cell string, opts *Shape) error`
* Change
`func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) error`
to
`func (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *PictureOptions) error`
* Change
`func (f *File) AddTable(sheet, hCell, vCell, opts string) error`
to
`func (f *File) AddTable(sheet, reference string, opts *TableOptions) error`
* Change
`func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error`
to
`func (sw *StreamWriter) AddTable(reference string, opts *TableOptions) error`
* Change
`func (f *File) AutoFilter(sheet, hCell, vCell, opts string) error`
to
`func (f *File) AutoFilter(sheet, reference string, opts *AutoFilterOptions) error`
* Change
`func (f *File) SetPanes(sheet, panes string) error`
to
`func (f *File) SetPanes(sheet string, panes *Panes) error`
* Change
`func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error`
to
`func (sw *StreamWriter) AddTable(reference string, opts *TableOptions) error`
* Change
`func (f *File) SetConditionalFormat(sheet, reference, opts string) error`
to
`func (f *File) SetConditionalFormat(sheet, reference string, opts []ConditionalFormatOptions) error`
* Add exported types:
* AutoFilterListOptions
* AutoFilterOptions
* Chart
* ChartAxis
* ChartDimension
* ChartLegend
* ChartLine
* ChartMarker
* ChartPlotArea
* ChartSeries
* ChartTitle
* ConditionalFormatOptions
* PaneOptions
* Panes
* PictureOptions
* Shape
* ShapeColor
* ShapeLine
* ShapeParagraph
* TableOptions
* This added support for set sheet visible as very hidden
* Return error when missing required parameters for set defined name
* Update unit test and comments
2022-12-30 00:50:08 +08:00
Liron Levin
a57203a03a
This closes #1432 , fix panic formattedValue when style is negative ( #1433 )
2022-12-29 00:37:37 +08:00
郭伟匡
6a5ee811ba
This closes #1425 , breaking changes for sheet name ( #1426 )
...
- Checking and return error for invalid sheet name instead of trim invalid characters
- Add error return for the 4 functions: `DeleteSheet`, `GetSheetIndex`, `GetSheetVisible` and `SetSheetName`
- Export new error 4 constants: `ErrSheetNameBlank`, `ErrSheetNameInvalid`, `ErrSheetNameLength` and `ErrSheetNameSingleQuote`
- Rename exported error constant `ErrExistsWorksheet` to `ErrExistsSheet`
- Update unit tests for 90 functions: `AddChart`, `AddChartSheet`, `AddComment`, `AddDataValidation`, `AddPicture`, `AddPictureFromBytes`, `AddPivotTable`, `AddShape`, `AddSparkline`, `AddTable`, `AutoFilter`, `CalcCellValue`, `Cols`, `DeleteChart`, `DeleteComment`, `DeleteDataValidation`, `DeletePicture`, `DeleteSheet`, `DuplicateRow`, `DuplicateRowTo`, `GetCellFormula`, `GetCellHyperLink`, `GetCellRichText`, `GetCellStyle`, `GetCellType`, `GetCellValue`, `GetColOutlineLevel`, `GetCols`, `GetColStyle`, `GetColVisible`, `GetColWidth`, `GetConditionalFormats`, `GetDataValidations`, `GetMergeCells`, `GetPageLayout`, `GetPageMargins`, `GetPicture`, `GetRowHeight`, `GetRowOutlineLevel`, `GetRows`, `GetRowVisible`, `GetSheetIndex`, `GetSheetProps`, `GetSheetVisible`, `GroupSheets`, `InsertCol`, `InsertPageBreak`, `InsertRows`, `MergeCell`, `NewSheet`, `NewStreamWriter`, `ProtectSheet`, `RemoveCol`, `RemovePageBreak`, `RemoveRow`, `Rows`, `SearchSheet`, `SetCellBool`, `SetCellDefault`, `SetCellFloat`, `SetCellFormula`, `SetCellHyperLink`, `SetCellInt`, `SetCellRichText`, `SetCellStr`, `SetCellStyle`, `SetCellValue`, `SetColOutlineLevel`, `SetColStyle`, `SetColVisible`, `SetColWidth`, `SetConditionalFormat`, `SetHeaderFooter`, `SetPageLayout`, `SetPageMargins`, `SetPanes`, `SetRowHeight`, `SetRowOutlineLevel`, `SetRowStyle`, `SetRowVisible`, `SetSheetBackground`, `SetSheetBackgroundFromBytes`, `SetSheetCol`, `SetSheetName`, `SetSheetProps`, `SetSheetRow`, `SetSheetVisible`, `UnmergeCell`, `UnprotectSheet` and
`UnsetConditionalFormat`
- Update documentation of the set style functions
Co-authored-by: guoweikuang <weikuang.guo@shopee.com>
2022-12-23 00:54:40 +08:00
xuri
ac564afa56
Remove internal error log print, throw XML deserialize error
2022-11-13 00:40:04 +08:00
xuri
bd5dd17673
This is a breaking change, remove partial internal error log print, throw XML deserialize error
...
- Add error return value for the `GetComments`, `GetDefaultFont` and `SetDefaultFont` functions
- Update unit tests
2022-11-12 00:16:23 +08:00
Martin Martinez Rivera
75c912ca95
This closes #1384 , fix segmentation fault in `formattedValue` ( #1385 )
...
- Add nil pointer guard in cell format
- Add tests to verify the nil checks in formattedValue
Co-authored-by: Zach Clark <zachmclark@gmail.com>
2022-11-05 12:41:07 +08:00
xuri
f44153ea46
This closes #1377 , stream writer writes inline string type for string cell value
...
- Add `CellTypeFormula`, `CellTypeInlineString`, `CellTypeSharedString` and remove `CellTypeString` in `CellType` enumeration
- Unit tests updated
2022-10-25 10:24:45 +08:00
xuri
14c6a198ce
Support get cell value which contains a date in the ISO 8601 format
...
- Support set and get font color with indexed color
- New export variable `IndexedColorMapping`
- Fix getting incorrect page margin settings when the margin is 0
- Update unit tests and comments typo fixes
- ref #65 , new formula functions: AGGREGATE and SUBTOTAL
2022-10-24 00:52:09 +08:00
GaoFei
3ece904b00
This closes #1369 , support set, and get font color with theme and tint ( #1370 )
2022-10-15 00:03:49 +08:00
xuri
0e657c887b
This closes #1368 , fixes number parsing issue, adds support for create a 3D line chart
2022-10-12 00:06:09 +08:00
xuri
efcf599dfe
This closes #1360 , closes #1361
...
- Fix default number format parse issue with a long string of digits
- Fix creating a sheet with an empty name cause a corrupted file
- The `GetCellStyle` function no longer return master cell style of the merge cell range
- Using the specialized name in variables and functions
2022-09-28 00:04:17 +08:00
xuri
3f702999e6
Using the specialized name in a variable and making comments clear
...
- Add JSON tags for `AppProperties`, `PivotTableOption` and `PivotTableField` structure
2022-09-18 00:07:15 +08:00
xuri
b6cc43d824
This makes 6 functions concurrency safety
...
- These 6 functions now support concurrency safe: SetColWidth, GetColWidth, SetColVisible, GetColVisible, SetColStyle and GetColStyle
2022-09-11 00:04:04 +08:00
davidborry
bef49e40ee
This closes #1330 update non existing sheet error messages ( #1331 )
2022-08-28 00:16:41 +08:00
xuri
cb8bca0e92
This closes #1290 and closes #1328
...
- Add new smooth field in chart format parameter, support specify if smooth line chart
- Fix decimal number format round issue with build-in number format
2022-08-24 00:00:47 +08:00
jialei
d490a0f86f
RichTextRun support set superscript and subscript by vertAlign attribute ( #1252 )
...
check vertical align enumeration, update set rich text docs and test
2022-06-13 23:38:59 +08:00
xuri
19a0cf3cec
This closed #1163 , fix set cell value with column and row style inherit issue
2022-05-15 15:38:40 +08:00
xuri
eed431e0fc
This closes #1219 , fixes cell value reading issue, improves performance, and 1904 date system support
...
- Fix incorrect cell data types casting results when number formatting
- Support set cell value on 1904 date system enabled, ref #1212
- Improve performance for set sheet row and the merging cells, fix performance impact when resolving #1129
2022-05-02 12:30:18 +08:00
xuri
0f93bd23c9
This closes #1213 , fix get incorrect rich text value caused by missing cell type checking
2022-04-29 13:53:09 +08:00
xuri
8a335225c7
Format code, update documentation and remove exported variable `XMLHeaderByte`
2022-03-24 00:19:30 +08:00
xuri
07be993631
Fixed parsing decimal precision issue
2022-02-18 00:02:39 +08:00
xuri
3ee3c38f9c
Fix file corrupted in some cases, check file extension and format code
...
Fix file corrupted when save as in XLAM / XLSM / XLTM / XLTX extension in some case
New exported error ErrWorkbookExt has been added, and check file extension on save the workbook
Format source code with `gofumpt`
2022-01-23 00:48:26 +08:00
xuri
74f6ea94ea
ref #1054 , breaking change for the column and row's iterator
...
This removed 3 exported functions: `TotalCols`, `CurrentCol` and `CurrentRow`
2022-01-19 00:51:09 +08:00
xuri
4daa6ed0b4
Breaking change: remove `TotalRows` of row iterator and performance optimization
...
Reduce allocation memory 20%, and 80% GC times for the row's iterator
2022-01-17 08:05:52 +08:00
xuri
891e5baac1
ref #1096 , reduce memory usage by about 50% for large data spreadsheet
2022-01-11 00:31:11 +08:00
xuri
2245fccca0
Typo fix, rename exported constants, dependencies modules and copyright update
...
Rename exported constants `NameSpaceDublinCoreMetadataIntiative` to `NameSpaceDublinCoreMetadataInitiative`
2022-01-09 00:20:42 +08:00
xuri
89b85934f6
This closes #1096 , memory usage optimization and another 4 changes
...
- Unzip shared string table to system temporary file when large inner XML, reduce memory usage about 70%
- Remove unnecessary exported variable `XMLHeader`, we can using `encoding/xml` package's `xml.Header` instead of it
- Using constant instead of inline text for default XML path
- Rename exported option field `WorksheetUnzipMemLimit` to `UnzipXMLSizeLimit`
- Unit test and documentation updated
2021-12-27 23:49:28 +08:00
xuri
44a13aa402
Export 7 errors so users can act differently on different type of errors
2021-12-07 00:26:53 +08:00
xuri
7907650a97
This closes #1069 , support time zone location when set cell value
2021-11-24 00:09:35 +08:00
xuri
cf8766df83
ref #65 , new formula function: TIME
2021-10-16 16:05:50 +08:00
xuri
de38402f74
This closes #1031 , fix small float parsed error in some case
...
- new formula function: YEARFRAC, ref #65
- update the codecov version
- remove unused variable
2021-10-15 21:45:46 +08:00
xuri
490f3063c2
This closes #1026 , time parse accuracy issue and typo fixed
2021-09-26 00:07:40 +08:00
xuri
790c363cce
This closes #833 , closes #845 , and closes #1022 , breaking changes
...
- Close spreadsheet and row's iterator required
- New options `WorksheetUnzipMemLimit` have been added
- Improve streaming reading performance, memory usage decrease about 93.7%
2021-09-19 11:06:54 +08:00
xuri
dad8f490cc
This closes #417 and closes #520 , new API `GetCellType` has been added
2021-09-09 23:43:16 +08:00
xuri
32b23ef42d
This closes #998
...
- Support text comparison in the formula, also ref #65
- `GetCellValue`, `GetRows`, `GetCols`, `Rows` and `Cols` support to specify read cell with raw value, ref #621
- Add missing properties for the cell formula
- Update the unit test for the `CalcCellValue`
2021-09-05 11:59:50 +08:00
xuri
2616aa88cb
Add set shared formula support and documentation for the `SetCellFormula`
2021-09-03 22:51:56 +08:00
xuri
cd030d4aa8
Improve compatibility with row element with r="0" attribute
2021-08-23 00:15:43 +08:00
xuri
a2d449708c
- This fix panic and incorrect cell read on some case
...
- Make unit test on Go 1.7
- API documentation updated
2021-08-22 13:36:56 +08:00
raochq
b02f864eab
This closes #844 , support get shared formula
2021-08-15 01:19:49 +08:00
Arnie97
eaf9781e7e
Improve compatibility for SetRichText ( #976 )
...
- support escaped string literal
- maximum character limit added
- fix missing preserve character in some case
Co-authored-by: xuri <xuri.me@gmail.com>
2021-07-31 14:20:29 +08:00
xuri
e9ae9b45b2
change go module import path to github.com/xuri/excelize
2021-07-28 00:38:09 +08:00
xuri
90d200a10b
Make the functions `SetSheetRow`, `New Style` and `SetCellStyle` concurrency safety
2021-07-07 00:57:43 +08:00
xuri
b7fece5173
Support concurrency add picture
2021-07-06 00:31:04 +08:00
xuri
544ef18a8c
- Support concurrency iterate rows and columns
...
- Rename exported field `File.XLSX` to `File.Pkg`
- Exported error message
2021-07-05 00:03:56 +08:00
xuri
0e02329bed
This closes #861 , support concurrency get cell picture and remove unused internal function `getSheetNameByID`
2021-07-04 12:13:06 +08:00
xuri
f5a20fa03f
Fixed #823 , 12/24 hours time format parsing error
2021-04-20 16:01:17 +00:00
tonnyzhang
bbb8ebfa8c
add GetCellRichText method and test ( #789 )
2021-02-22 20:04:13 +08:00
xuri
36b7990d6b
lint issue fixed and new formula function: ATAN, AVERAGE, AVERAGEA, CONCAT, CONCATENATE, COUNT, COUNTBLANK, MAX
2021-02-15 00:09:35 +08:00
xuri
1bc5302007
Fixed #764 , add a condition for round precision
2021-01-20 00:14:21 +08:00
xuri
a26675517e
This closes #756 , not set the empty string for the cell when SetCellValue with nil
2021-01-08 23:57:13 +08:00