Commit Graph

158 Commits

Author SHA1 Message Date
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
xuri ad883caa0f
Resolve #580, revert commit 5ca7231ed4 2020-02-19 00:08:10 +08:00
xuri e51aff2d95 Resolve #570, flat columns for the column's operation 2020-02-07 00:53:38 +08:00
xuri 5ca7231ed4
optimize code and comments: use println errors instead of panic 2020-01-03 23:57:25 +08:00
xuri 09485b3f9f
Improve code coverage unit tests 2019-12-29 16:02:31 +08:00
xuri 4e4a5b9b3e
Improve compatibility, fix workbook's rels ID calc error 2019-12-23 00:07:40 +08:00
xuri ae2865d923
Improve code coverage unit tests 2019-12-22 00:02:09 +08:00
match-meng 7358dca436 Update comments for the xmlNewDecoder (#542) 2019-12-20 22:22:56 +08:00
xuri 4249dad8ea
Resolve #539 Merge branch 'v2'
# Conflicts:
#	rows.go
#	sheet.go
2019-12-20 01:00:15 +08:00
Alex Geer b1b3c0d151 Fix #539 Fixed error opening excel file created in encoding d… (#540)
* Fixed issue #539 Fixed error opening excel file created in encoding different from UTF-8, added logging of possible errors when decoding XML if the function does not provide exit with an error

* Added test for CharsetReader

* Fixed #discussion_r359397878

Discussion: https://github.com/360EntSecGroup-Skylar/excelize/pull/540#discussion_r359397878

* Fixed go fmt

* go mod tidy and removed unused imports

* The code has been refactored
2019-12-20 00:30:48 +08:00
xuri a526e90404
Fix #426, handle empty workbook view 2019-12-16 08:32:04 +08:00
xuri 402ad2f62b
Update XML namespace 2019-11-30 00:06:36 +08:00
xuri 8d6e431dcd
Resolve #521, fix missing elements when parsing 2019-11-28 21:53:50 +08:00
xuri 7965e1231b
Resolve #146, make the GetRow function read data as streaming. Ref: #382, #515 2019-11-23 04:13:59 +08:00
Harris bf9a835549
Reduce allocations when writing
Fix #494

If a row is full, don't bother allocating a new one, just return it.

Use the last populated row as a hint for the size of new rows.

Simplify checkSheet to remove row map
2019-11-05 08:18:11 -06:00