xuri
afb2d27c90
This fix formula calculation accuracy issue and panic when set pane
...
- Fix `GROWTH` and `TREND` calculation accuracy issue
- Fix panic when add pane on empty sheet views worksheet
- New exported constants `MinFontSize`
3 years ago
xuri
0c3fd0223c
This closes #1225 , allowing insert EMF format images
3 years ago
xuri
8a335225c7
Format code, update documentation and remove exported variable `XMLHeaderByte`
3 years ago
xuri
f0cb29cf66
This closes #1162 , improve the compatibility with alternate content
...
Preserve alternate content in the workbook, worksheet, and drawingML
3 years ago
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
3 years ago
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`
3 years ago
xuri
b96329cc88
Breaking change for data validation and fixed #1117
...
- Remove second useless parameter `isCurrentSheet` of the function `SetSqrefDropList`
- Fix missing page setup of worksheet after re-saving the spreadsheet
3 years ago
xuri
2245fccca0
Typo fix, rename exported constants, dependencies modules and copyright update
...
Rename exported constants `NameSpaceDublinCoreMetadataIntiative` to `NameSpaceDublinCoreMetadataInitiative`
3 years ago
Jonham.Chen
af5c4d00e8
feat: implement SHA-512 algorithm to ProtectSheet ( #1115 )
3 years ago
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
3 years ago
xuri
577a07f08c
Simplify code and update unit test
...
Improve unit test coverage for the functions: `NewStyle`, `SetActiveSheet`, `SearchSheet` and `deleteAndAdjustDefinedNames`
Simplify code and add comments for the function: `deleteAndAdjustDefinedNames`
3 years ago
Michael Wiesenbauer
aa359f1c74
refactor DeleteSheet for better readability ( #1078 )
...
Signed-off-by: Michael Wiesenbauer <michael.wiesenbauer@ambos.io>
Co-authored-by: Michael Wiesenbauer <michael.wiesenbauer@fau.de>
3 years ago
xuri
6b277c61d2
Fix sheet deletion fail in some case
3 years ago
xuri
bc3c7d51a2
ref #65 : new formula function PRICE
...
- fix COUPPCD result accuracy issue
- update close spreadsheet example in documentation and README
3 years ago
xuri
bda8e7f812
This closes #1061 , support multi-byte language on set header footer
...
typo fixed and simplify code for read the data values arguments of formula functions
3 years ago
xuri
57275db22e
This closes #1057 , merge column styles to reduce spreadsheet size
3 years ago
Sean Liang
32548a6cac
return immediately when matched for efficiency ( #1049 )
3 years ago
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%
3 years ago
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`
3 years ago
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
3 years ago
three
f6f14f507e
Speed up merge cells
3 years ago
xuri
7dbf88f221
This closes #971 , closes #972 and closes #974
...
- 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
4 years ago
xuri
5ce3fe8cb8
Improvement compatibility with invalid first-page number attribute in the page layout
4 years ago
xuri
fbcfdeae90
This closes #879 , fix delete defined name failed in some case
4 years ago
xuri
b14b74bf56
This closes #873 , make the sheet names are not case sensitive for `NewSheet`, `GetSheetIndex`, `DeleteSheet`
4 years ago
xuri
90d200a10b
Make the functions `SetSheetRow`, `New Style` and `SetCellStyle` concurrency safety
4 years ago
xuri
b7fece5173
Support concurrency add picture
4 years ago
xuri
544ef18a8c
- Support concurrency iterate rows and columns
...
- Rename exported field `File.XLSX` to `File.Pkg`
- Exported error message
4 years ago
xuri
0e02329bed
This closes #861 , support concurrency get cell picture and remove unused internal function `getSheetNameByID`
4 years ago
vettich
5ec61310dc
fix: LocalSheetID in DefinedName should be equal to SheetIndex instead of SheetID ( #868 )
4 years ago
xuri
be12cc27f1
This closes #652 , new SetColWidth API, support set column width in stream writing mode, and export error message
4 years ago
xuri
0e0237e62d
compatibility with non-standard page setup attributes
4 years ago
xuri
438fd4b3f9
This closes #834 , fix invalid file path and duplicate namespace when re-creating worksheet
4 years ago
xuri
f8f699a172
Go 1.15 and later required, #65 fn: IMABS, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMEXP, IMLN and IMLOG10
4 years ago
xuri
2af96c0714
#65 fn: N, PERCENTILE.INC and T
...
typo fixed
4 years ago
David
d08a6d2437
updated SetDefinedName's localSheetId attr to use sheetIndex
...
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
4 years ago
xuri
afe2ebc261
This improves compatibility for absolute XML path, Windows-style directory separator and inline namespace;
4 years ago
xuri
d84050921e
check empty rich text run properties; new formula fn: LEFT, LEFTB, RIGHT, RIGHTB
4 years ago
xuri
36b7990d6b
lint issue fixed and new formula function: ATAN, AVERAGE, AVERAGEA, CONCAT, CONCATENATE, COUNT, COUNTBLANK, MAX
4 years ago
xuri
3648335d7f
This improves compatibility for worksheet relative XML path and multi rules auto filter
4 years ago
xuri
30549c5e90
fix custom row height check issue
4 years ago
xuri
1f329e8f96
This closes #774 , closes #775 and closes #776
...
- correct adjust calculation chain in duplicate rows
- correct adjust defined name in the workbook when delete worksheet
- use absolute reference in the auto filters defined name to make it compatible with OpenOffice
- API `CoordinatesToCellName` have a new optional param to specify if using an absolute reference format
- Fix cyclomatic complexity issue of internal function `newFills` and `parseToken`
4 years ago
xuri
1bc5302007
Fixed #764 , add a condition for round precision
4 years ago
xuri
b260485f29
support to set print black and white and specified the first printed page number
4 years ago
xuri
054bb9f061
Support to adjust print scaling of the worksheet
4 years ago
xuri
13e0ed2a69
Fixed #735 , refresh active tab after delete sheet
4 years ago
xuri
2514bb16c6
Fix #724 , standardize variable naming and update unit tests
4 years ago
xuri
5dd0b4aec2
using POSIX directory separator in zip path with Windows
4 years ago
xuri
c82a185af8
Compatibility improvement: parse document core part (workbook) dynamically
4 years ago
Ted
fcca8a3838
optimize memory allocation ( #722 )
...
* optimize marshal
* optimize mem alloc
* add benchmark testing
* add NewSheetWithRowNum testing
* sync struct fields order
* add BenchmarkNewSheetWithStreamWriter
* delete NewSheetWithRowNum and benchmark test
4 years ago