xuri
fb6ce60bd5
This closes #1523 , preventing format text cell value as a numeric
...
- Simplify variable declaration and error return statements
- Remove the internal `xlsxTabColor` data type
- Using the `xlsxColor` data type instead of `xlsxTabColor`
- Update unit test, improve code coverage
2023-04-19 00:05:59 +08:00
xuri
60b9d029a6
Breaking changes: changed the function signature for 4 exported functions
...
- Change
`func (f *File) AddVBAProject(bin string) error`
to
`func (f *File) AddVBAProject(file []byte) error`
- Change
`func (f *File) GetComments() (map[string][]Comment, error)`
to
`func (f *File) GetComments(sheet string) ([]Comment, error)`
- Change
`func (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error`
to
`func (f *File) AddTable(sheet string, table *Table) error`
- Change
`func (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error`
to
`func (sw *StreamWriter) AddTable(table *Table) error`
- Rename exported data type `TableOptions` to `Table`
- Simplify the assert statements in the unit tests
- Update documents for the functions
- Update unit tests
2023-03-25 13:30:13 +08:00
xuri
917e6e19d6
This roundup time value when a millisecond great than 500 to fix the accuracy issue
...
- Correction example in the documentation of set cell formula
- Rename the internal function `parseOptions` to `getOptions`
- Update unit tests
2023-01-20 03:10:04 +00:00
xuri
4f0025aab0
This closes #1447 , add support for strict theme namespace
...
- Support specify if applying number format style for the cell calculation result
- Reduce cyclomatic complexities for the OpenReader function
2023-01-13 00:05:46 +08:00
Liron Levin
9c3a5eb983
Add missing error checks in `getSheetMap` to fix panic( #1437 )
...
Unit tests updated
2023-01-07 13:17:00 +08:00
xuri
b39626fae9
This fixed worksheet protection issue
...
- Update example code in the documentation
- Update unit tests
- Rename `PictureOptions` to `GraphicOptions`
- Adjust partial options fields data types for the `PictureOptions` and `Shape` structure
- Update dependencies module
2023-01-02 11:47:31 +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
xuri
7363c1e333
Go 1.16 and later required, migration of deprecation package `ioutil`
...
- Improving performance for stream writer `SetRow` function, reduces memory usage over and speedup about 19%
- Update dependencies module
- Update GitHub workflow
2022-10-13 00:13:36 +08:00
charles.deng
2f5704b114
Stream writer support to set inline rich text cell ( #1121 )
...
Co-authored-by: zhengchao.deng <zhengchao.deng@meican.com>
2022-10-10 00:11:18 +08:00
xuri
b1e776ee33
Support to set summary columns to appear to the right of detail in an outline
...
- Simplify calculation engine code
- Update documentation for the functions
- Update dependencies module
2022-10-08 22:08:16 +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
fb1aab7add
This closes #744 , the `Save`, `Write` and `WriteTo` function accept saving options
2022-09-08 22:20:21 +08:00
xuri
ab12307393
This made library allowing insert EMZ and WMZ format image
...
- Update dependencies module
2022-08-21 01:09:32 +08:00
NaturalGao
76f336809f
This closes #849 , add new function `DeleteComment` for delete comment ( #1317 )
...
- Update unit tests for the delete comment
- Add 3 errors function for error messages
2022-08-19 23:24:13 +08:00
xuri
551fb8a9e4
This closes #1244 and closes #1314 , improving the compatibility with Google Sheet
...
- Format code with `gofmt`
2022-08-13 11:21:59 +08:00
xuri
ebea684ae5
Fix potential file corrupted and change worksheet name case-insensitive
...
- Using sheet ID instead of sheet index when delete the cell in calculation chain
- Update documentation for exported functions
- Using `sheet` represent the sheet name in the function parameters
2022-07-18 00:21:34 +08:00
xuri
a65c5846e4
This closes #1262 , support for dependence formulas calculation
...
- Add export option `MaxCalcIterations` for specifies the maximum iterations for iterative calculation
- Update unit test for the database formula functions
2022-07-10 18:14:48 +08:00
xuri
852f211970
This closes #1257 , fix incorrect worksheet header footer fields order
2022-06-21 20:08:47 +08:00
xuri
8fde918d98
This update docs and tests for workbook encryption
2022-05-31 11:14:42 +08:00
xuri
7a6d5f5ebe
This initialized support for encryption workbook by password, ref #199
...
- Remove exported variable `ErrEncrypt`
2022-05-29 19:37:10 +08:00
xuri
63adac2589
make workbook open filed exception message clear
...
- New exported constant `ErrWorkbookPassword`
- Rename exported constant `ErrWorkbookExt` to `ErrWorkbookFileFormat`
2022-05-20 20:46:29 +08:00
xuri
773d4afa32
This closes #1217 , support update cell hyperlink
...
Ref #1129 , make `SetRowStyle` overwrite style of the cells
2022-05-01 12:28:36 +08:00
xuri
8a335225c7
Format code, update documentation and remove exported variable `XMLHeaderByte`
2022-03-24 00:19:30 +08:00
xuri
f87c39c41d
This closes #1148 , resolve limitations when adding VBA project to the workbook
...
Added two exported functions `SetWorkbookPrOptions` and `GetWorkbookPrOptions` to support setting and getting the code name property of the workbook
Re-order fields of the workbook properties group to improve the compatibility
Go Modules dependencies upgrade
Put workbook related operating in new `workbook.go` source code
Library introduction docs block updated
2022-02-17 00:09:11 +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
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
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
684603befa
This closes #993 , closes #1014
...
- Fix formula percentages calculated incorrectly
- Make UpdateLinkedValue skip macro sheet
- Fix conditional format bottom N not working
2021-09-06 00:01:42 +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
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
xuri
48c16de8bf
Improve security and simplify code
...
- Make variable name more semantic
- Reduce cyclomatic complexities for the formula calculate function
- Support specified unzip size limit on open file options, avoid zip bombs vulnerability attack
- Typo fix for documentation and error message
2021-08-15 00:06:40 +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
be12cc27f1
This closes #652 , new SetColWidth API, support set column width in stream writing mode, and export error message
2021-05-10 00:09:24 +08:00
xuri
f8f699a172
Go 1.15 and later required, #65 fn: IMABS, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMEXP, IMLN and IMLOG10
2021-04-04 15:29:43 +08:00
xuri
2af96c0714
#65 fn: N, PERCENTILE.INC and T
...
typo fixed
2021-03-30 23:02:22 +08:00
yuki2006
dbe88d723e
Fix UpdateLinkedValue which returns an error when has graph sheet ( #793 )
...
* Fixed UpdateLinkedValue which returns an error when there is a graph sheet
Signed-off-by: yuuki.ono <yagfair@gmail.com>
* fix refactoring from review
Signed-off-by: yuuki.ono <yagfair@gmail.com>
2021-03-04 09:23:45 +08:00
Ray
58ecf81630
Update excelize.go ( #765 )
...
miss a char as 'l' in the excel.
2021-01-20 14:40:33 +08:00
xuri
92c8626f81
Fixed #732 , support single line with repeated row element in the sheet data
2020-11-18 22:08:40 +08:00
xuri
2514bb16c6
Fix #724 , standardize variable naming and update unit tests
2020-11-11 01:03:56 +08:00
xuri
5dd0b4aec2
using POSIX directory separator in zip path with Windows
2020-11-06 20:03:13 +08:00
xuri
c82a185af8
Compatibility improvement: parse document core part (workbook) dynamically
2020-11-04 00:28:20 +08:00
Lijingfeng
93160287bb
Optimize memory usage when stream flush and save ( #659 )
...
* use io.Copy from stream temp file to zip Writer
* fix nil
* log
* build
* delete log
* fix compatibility for office
* Update go module
Co-authored-by: lijingfeng <lijingfeng@laiye.com>
Co-authored-by: xuri <xuri.me@gmail.com>
2020-10-05 22:17:11 +08:00
Artem Kustikov
f2b8798a34
extend cell value load to support custom datetime format ( #703 )
...
* extend cell value load to support custom datetime format
* cleanup incorrect imports
* fix numeric values conversion as done in legacy Excel
* fix tests coverage
* revert temporary package name fix
* remove personal info from test XLSX files
* remove unused dependencies
* update format conversion in parseTime
* new UT to increase code coverage
* Resolve code review issue for PR #703
* Rename broken file name generated by unit test
Co-authored-by: xuri <xuri.me@gmail.com>
2020-10-04 21:07:39 +08:00