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
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
three
f6f14f507e
Speed up merge cells
2021-08-13 01:32:44 +08:00
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
2021-07-29 00:03:57 +08:00
xuri
5ce3fe8cb8
Improvement compatibility with invalid first-page number attribute in the page layout
2021-07-21 23:24:49 +08:00
xuri
fbcfdeae90
This closes #879 , fix delete defined name failed in some case
2021-07-15 23:24:01 +08:00
xuri
b14b74bf56
This closes #873 , make the sheet names are not case sensitive for `NewSheet`, `GetSheetIndex`, `DeleteSheet`
2021-07-10 23:47:35 +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
vettich
5ec61310dc
fix: LocalSheetID in DefinedName should be equal to SheetIndex instead of SheetID ( #868 )
2021-07-03 14:13:26 +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
0e0237e62d
compatibility with non-standard page setup attributes
2021-05-07 23:08:58 +08:00
xuri
438fd4b3f9
This closes #834 , fix invalid file path and duplicate namespace when re-creating worksheet
2021-05-06 22:09:12 +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
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
2021-03-21 19:39:36 -04:00
xuri
afe2ebc261
This improves compatibility for absolute XML path, Windows-style directory separator and inline namespace;
2021-02-27 08:49:10 +08:00
xuri
d84050921e
check empty rich text run properties; new formula fn: LEFT, LEFTB, RIGHT, RIGHTB
2021-02-23 00:05:19 +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
3648335d7f
This improves compatibility for worksheet relative XML path and multi rules auto filter
2021-02-11 10:54:38 +08:00
xuri
30549c5e90
fix custom row height check issue
2021-02-08 18:05:15 +08:00
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`
2021-02-02 22:23:16 +08:00
xuri
1bc5302007
Fixed #764 , add a condition for round precision
2021-01-20 00:14:21 +08:00
xuri
b260485f29
support to set print black and white and specified the first printed page number
2021-01-17 01:06:08 +08:00
xuri
054bb9f061
Support to adjust print scaling of the worksheet
2021-01-16 21:51:23 +08:00
xuri
13e0ed2a69
Fixed #735 , refresh active tab after delete sheet
2020-11-23 00:01:06 +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
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
2020-11-03 17:48:37 +08:00
xuri
b812e9a1a8
New formula function AND ( #701 ) and update doc for the NewSheet ( #714 )
2020-10-22 08:29:25 +08:00
xuri
4834a058aa
This closes #714 and closes #715 , fix wrong worksheet index returned by NewSheet in some case, fix panic on formatted value with no built-in number format ID
2020-10-19 23:55:54 +08:00
xuri
520aa679f3
Fix #706 , #713 improve AddPicture performance, fix missing worksheet when rename with same names
2020-10-18 00:01:33 +08:00
xuri
ac3dce0bea
- Resolve #711 , update docs for the GetSheetIndex
...
- Update unit test
2020-10-12 00:05:27 +08:00
xuri
88de2f8d51
Default row height compatibility with Apache OpenOffice and Kingsoft WPS, unit test update and typo fixed
2020-08-22 18:58:43 +08:00
xuri
843bd24e56
This closes #677 and closes #679 , fix panic when enabling compiler inline flags
2020-08-06 05:58:40 +00:00
xuri
c922c32fb7
support parse and generate XML element namespace dynamic, fix #651
2020-07-18 15:15:16 +08:00
jaby
5993a07422
Fix issue 665 ( #666 )
2020-07-14 23:05:43 +08:00
xuri
49257c5918
support case-sensitive doc parts to improve compatibility
2020-07-09 01:24:11 +08:00
xuri
15fd56853f
Update docs and typo fixed
2020-06-22 00:14:56 +08:00
xuri
dfea8f96ed
- New API: SetSheetFormatPr and GetSheetFormatPr
...
- typo fix, resolve #635
2020-05-12 23:26:26 +08:00
xuri
48fc4c08a2
init formula calculation engine, ref #65 and #599
2020-05-03 18:44:43 +08:00
xuri
2285d4dc71
handle the cell without r attribute in a row element
2020-04-24 08:26:16 +08:00
xuri
1fe660df64
- Resolve #485 use sheet index instead of ID
...
- added 3 internal function: getSheetID, getActiveSheetID, getSheetNameByID
2020-04-23 02:01:14 +08:00
xuri
0f2a905324
Performance improvements
2020-04-05 13:51:00 +08:00
xuri
3f89c6e979
remove ineffectual variable assignments and simplify code
2020-03-29 18:44:24 +08:00
xuri
6afc468a02
Resolve #451 , support create chart sheet
2020-03-28 23:47:26 +08:00
xuri
1d87da57ec
Resolve #492 , init support for insert and remove page break
2020-03-01 00:34:41 +08:00