summaryrefslogtreecommitdiff
path: root/sheet.go
Commit message (Collapse)AuthorAge
* This closes #1244 and closes #1314, improving the compatibility with Google ↵xuri2022-08-13
| | | | | | Sheet - Format code with `gofmt`
* This closes #1296, add new function `GetRowOpts` for stream reader (#1297)Thomas Charbonnel2022-08-11
| | | | - Support get rows properties by `GetRowOpts` function - New exported constant `MaxCellStyles`
* This closes #1298, fix doc properties missing after creating new worksheetxuri2022-08-03
|
* Fix potential file corrupted and change worksheet name case-insensitivexuri2022-07-18
| | | | | | - 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
* Fix potential file corrupted when changing cell value or the col/rowxuri2022-07-16
| | | | | - Remove shared formula subsequent cell when setting the cell values - Support adjust table range when removing and inserting column/row
* adjust `ErrColumnNumber`, rename `TotalColumns` to `MaxColumns` and add new ↵MJacred2022-07-14
| | | | | constant `MinColumns` (#1272) Signed-off-by: Benjamin Lösch <loesch.benny92@gmx.de>
* This closes #1269, made the `NewStreamWriter` function case insensitive to ↵Eagle Xiang2022-07-06
| | | | | worksheet name Co-authored-by: xiangyz <xiangyz@dustess.com>
* This closes #1257, fix incorrect worksheet header footer fields orderxuri2022-06-21
|
* refactor: replace strings.Replace with strings.ReplaceAll (#1250)Eng Zer Jun2022-06-12
| | | | | | | strings.ReplaceAll(s, old, new) is a wrapper function for strings.Replace(s, old, new, -1). But strings.ReplaceAll is more readable and removes the hardcoded -1. Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
* Improves the calculation engine, docs update, and adds the dependabotxuri2022-05-26
| | | | | | - Initialize array formula support for the formula calculation engine - Update example and unit test of `AddPivotTable` - Update the supported hash algorithm of ProtectSheet
* This fix formula calculation accuracy issue and panic when set panexuri2022-05-23
| | | | | - Fix `GROWTH` and `TREND` calculation accuracy issue - Fix panic when add pane on empty sheet views worksheet - New exported constants `MinFontSize`
* This closes #1225, allowing insert EMF format imagesxuri2022-05-13
|
* Format code, update documentation and remove exported variable `XMLHeaderByte`xuri2022-03-24
|
* This closes #1162, improve the compatibility with alternate contentxuri2022-03-05
| | | | Preserve alternate content in the workbook, worksheet, and drawingML
* This closes #1148, resolve limitations when adding VBA project to the workbookxuri2022-02-17
| | | | | | | | 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
* Fix file corrupted in some cases, check file extension and format codexuri2022-01-23
| | | | | | 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`
* Breaking change for data validation and fixed #1117xuri2022-01-12
| | | | | - Remove second useless parameter `isCurrentSheet` of the function `SetSqrefDropList` - Fix missing page setup of worksheet after re-saving the spreadsheet
* Typo fix, rename exported constants, dependencies modules and copyright updatexuri2022-01-09
| | | | Rename exported constants `NameSpaceDublinCoreMetadataIntiative` to `NameSpaceDublinCoreMetadataInitiative`
* feat: implement SHA-512 algorithm to ProtectSheet (#1115)Jonham.Chen2022-01-08
|
* This closes #1096, memory usage optimization and another 4 changesxuri2021-12-27
| | | | | | | | - 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
* Simplify code and update unit testxuri2021-12-03
| | | | | Improve unit test coverage for the functions: `NewStyle`, `SetActiveSheet`, `SearchSheet` and `deleteAndAdjustDefinedNames` Simplify code and add comments for the function: `deleteAndAdjustDefinedNames`
* refactor DeleteSheet for better readability (#1078)Michael Wiesenbauer2021-12-02
| | | | Signed-off-by: Michael Wiesenbauer <michael.wiesenbauer@ambos.io> Co-authored-by: Michael Wiesenbauer <michael.wiesenbauer@fau.de>
* Fix sheet deletion fail in some casexuri2021-11-18
|
* ref #65: new formula function PRICExuri2021-11-17
| | | | | - fix COUPPCD result accuracy issue - update close spreadsheet example in documentation and README
* This closes #1061, support multi-byte language on set header footerxuri2021-11-16
| | | | typo fixed and simplify code for read the data values arguments of formula functions
* This closes #1057, merge column styles to reduce spreadsheet sizexuri2021-11-14
|
* return immediately when matched for efficiency (#1049)Sean Liang2021-11-03
|
* This closes #833, closes #845, and closes #1022, breaking changesxuri2021-09-19
| | | | | | - Close spreadsheet and row's iterator required - New options `WorksheetUnzipMemLimit` have been added - Improve streaming reading performance, memory usage decrease about 93.7%
* This closes #998xuri2021-09-05
| | | | | | | - 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`
* Improve security and simplify codexuri2021-08-15
| | | | | | | - 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
* Speed up merge cellsthree2021-08-13
|
* This closes #971, closes #972 and closes #974xuri2021-07-29
| | | | | | | | - Escape XML character in the drop list - Fix incorrect character count limit in the drop list - Fix Excel time parse issue in some case - Fix custom number format month parse issue in some case - Fix corrupted file generated caused by concurrency adding pictures
* Improvement compatibility with invalid first-page number attribute in the ↵xuri2021-07-21
| | | | page layout
* This closes #879, fix delete defined name failed in some casexuri2021-07-15
|
* This closes #873, make the sheet names are not case sensitive for ↵xuri2021-07-10
| | | | `NewSheet`, `GetSheetIndex`, `DeleteSheet`
* Make the functions `SetSheetRow`, `New Style` and `SetCellStyle` concurrency ↵xuri2021-07-07
| | | | safety
* Support concurrency add picturexuri2021-07-06
|
* - Support concurrency iterate rows and columnsxuri2021-07-05
| | | | | - Rename exported field `File.XLSX` to `File.Pkg` - Exported error message
* This closes #861, support concurrency get cell picture and remove unused ↵xuri2021-07-04
| | | | internal function `getSheetNameByID`
* fix: LocalSheetID in DefinedName should be equal to SheetIndex instead of ↵vettich2021-07-03
| | | | SheetID (#868)
* This closes #652, new SetColWidth API, support set column width in stream ↵xuri2021-05-10
| | | | writing mode, and export error message
* compatibility with non-standard page setup attributesxuri2021-05-07
|
* This closes #834, fix invalid file path and duplicate namespace when ↵xuri2021-05-06
| | | | re-creating worksheet
* Go 1.15 and later required, #65 fn: IMABS, IMCOS, IMCOSH, IMCOT, IMCSC, ↵xuri2021-04-04
| | | | IMCSCH, IMEXP, IMLN and IMLOG10
* #65 fn: N, PERCENTILE.INC and Txuri2021-03-30
| | | | typo fixed
* updated SetDefinedName's localSheetId attr to use sheetIndexDavid2021-03-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Excelize 2.3.2 OUT: ``` <sheets> <sheet name="Q-P-QP-11" sheetId="55" r:id="rId1"/> <sheet name="Q-P-QP-12" sheetId="53" r:id="rId2"/> <sheet name="Q-P-QP-13" sheetId="54" r:id="rId3"/> <sheet name="Q-P-RN-12" sheetId="56" r:id="rId4"/> <sheet name="Q-P-RN-13" sheetId="57" r:id="rId5"/> <sheet name="C-C-QP-11-12-13-RN-12-13" sheetId="50" r:id="rId6"/> <sheet name="E-T-QP-11-12-13" sheetId="31" r:id="rId7"/> <sheet name="E-T-BK" sheetId="60" r:id="rId8"/> <sheet name="E-A-RN-12-13" sheetId="43" r:id="rId9"/> <sheet name="F1-A-QP-11-12-13" sheetId="1" r:id="rId10"/> <sheet name="F2-A-QP-11-12-13" sheetId="23" r:id="rId11"/> <sheet name="C-A-QP-12-13-RN-12-13" sheetId="48" r:id="rId12"/> <sheet name="C-T-QP-12-13" sheetId="7" r:id="rId13"/> <sheet name="R-T-QP-12-RN-12-13" sheetId="45" r:id="rId14"/> <sheet name="C-T-QP-11" sheetId="58" r:id="rId15"/> <sheet name="R-T-QP-11" sheetId="3" r:id="rId16"/> <sheet name="A-T-QP-11-12-RN-12" sheetId="13" r:id="rId17"/> <sheet name="A2-T-RN-13" sheetId="42" r:id="rId18"/> <sheet name="ap-T-QP-11" sheetId="59" r:id="rId19"/> <sheet name="B-A-QP-12-13" sheetId="32" r:id="rId20"/> <sheet name="B-A-QP-11" sheetId="33" r:id="rId21"/> </sheets> <definedNames> <definedName localSheetId="58" name="_xlnm.Print_Titles">ap-T-QP-11!$2:$5</definedName> <definedName localSheetId="2" name="_xlnm.Print_Titles">R-T-QP-11!$2:$13</definedName> </definedNames> ``` MS Excel 2010 out ``` <sheets> <sheet name="Q-P-QP-11" sheetId="55" r:id="rId1"/> <sheet name="Q-P-QP-12" sheetId="53" r:id="rId2"/> <sheet name="Q-P-QP-13" sheetId="54" r:id="rId3"/> <sheet name="Q-P-RN-12" sheetId="56" r:id="rId4"/> <sheet name="Q-P-RN-13" sheetId="57" r:id="rId5"/> <sheet name="C-C-QP-11-12-13-RN-12-13" sheetId="50" r:id="rId6"/> <sheet name="E-T-QP-11-12-13" sheetId="31" r:id="rId7"/> <sheet name="E-T-BK" sheetId="60" r:id="rId8"/> <sheet name="E-A-RN-12-13" sheetId="43" r:id="rId9"/> <sheet name="F1-A-QP-11-12-13" sheetId="1" r:id="rId10"/> <sheet name="F2-A-QP-11-12-13" sheetId="23" r:id="rId11"/> <sheet name="C-A-QP-12-13-RN-12-13" sheetId="48" r:id="rId12"/> <sheet name="C-T-QP-12-13" sheetId="7" r:id="rId13"/> <sheet name="R-T-QP-12-RN-12-13" sheetId="45" r:id="rId14"/> <sheet name="C-T-QP-11" sheetId="58" r:id="rId15"/> <sheet name="R-T-QP-11" sheetId="3" r:id="rId16"/> <sheet name="A-T-QP-11-12-RN-12" sheetId="13" r:id="rId17"/> <sheet name="A2-T-RN-13" sheetId="42" r:id="rId18"/> <sheet name="ap-T-QP-11" sheetId="59" r:id="rId19"/> <sheet name="B-A-QP-12-13" sheetId="32" r:id="rId20"/> <sheet name="B-A-QP-11" sheetId="33" r:id="rId21"/> </sheets> <definedNames> <definedName name="_xlnm.Print_Titles" localSheetId="18">'ap-T-QP-11'!$2:$5</definedName> <definedName name="_xlnm.Print_Titles" localSheetId="15">'R-T-QP-11'!$2:$13</definedName> </definedNames> ``` Compare localSheetId it uses sheet index instead of sheet's sheetId
* This improves compatibility for absolute XML path, Windows-style directory ↵xuri2021-02-27
| | | | separator and inline namespace;
* check empty rich text run properties; new formula fn: LEFT, LEFTB, RIGHT, RIGHTBxuri2021-02-23
|
* lint issue fixed and new formula function: ATAN, AVERAGE, AVERAGEA, CONCAT, ↵xuri2021-02-15
| | | | CONCATENATE, COUNT, COUNTBLANK, MAX
* This improves compatibility for worksheet relative XML path and multi rules ↵xuri2021-02-11
| | | | auto filter