Commit Graph

756 Commits

Author SHA1 Message Date
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
bailantaotao 61d0ed1ff2
This closes #987: support nested calc for if formula (#988) 2021-08-12 14:53:59 +08:00
xuri 43a057b1ea
This closes #986, fix set data validation drop list failed in some cases
Update documentation for `GetCellValue` and simplify code
2021-08-12 00:02:27 +08:00
xuri c49e7aab30
Reduce cyclomatic complexities for the formula calculate function and update documentation for the API: `MergeCell` and `GetCellValue` 2021-08-09 22:22:43 +08:00
xuri cf9fbafdd8
This closes #979, fix the data validation deletion issue and tidy the internal function in the source code 2021-08-06 22:44:43 +08:00
xuri 933159f939
Update dependencies module and bump version 2.4.1 2021-08-02 00:00:26 +08:00
Arnie97 eaf9781e7e
Improve compatibility for SetRichText (#976)
- support escaped string literal
- maximum character limit added
- fix missing preserve character in some case

Co-authored-by: xuri <xuri.me@gmail.com>
2021-07-31 14:20:29 +08:00
Arnie97 7ac37edfeb
Fix data validation issues (#975)
* Fix `SetDropList` to allow XML special characters

* This closes #971, allow quotation marks in SetDropList()

This patch included a XML entity mapping table instead of
xml.EscapeText() to be fully compatible with Microsoft Excel.

* This closes #972, allow more than 255 bytes of validation formulas

This patch changed the string length calculation unit of data
validation formulas from UTF-8 bytes to UTF-16 code units.

* Add unit tests for SetDropList()

* Fix: allow MaxFloat64 to be used in validation range

17 decimal significant digits should be more than enough to represent
every IEEE-754 double-precision float number without losing precision,
and numbers in this form will never reach the Excel limitation of 255
UTF-16 code units.
2021-07-31 00:31:51 +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 e9ae9b45b2
change go module import path to github.com/xuri/excelize 2021-07-28 00:38:09 +08:00
xuri f9e9e5d2e0
This closes #882, support set rows height and hidden row by stream writer 2021-07-25 00:43:07 +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 1ec0207fb5
Fix code security issue 2021-07-20 23:04:50 +08:00
xuri ec0ca8ba50
This closes #883, fix missing pivot attribute of conditional formatting 2021-07-16 00:00:50 +08:00
xuri fbcfdeae90
This closes #879, fix delete defined name failed in some case 2021-07-15 23:24:01 +08:00
xuri f62c45fe0c
This closes #848 and closes #852, fix reading decimals precision 2021-07-12 00:02:39 +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
Deepak S ee8098037d
Prevent panic when incorrect range is provided as PivotTableRange to (#874) 2021-07-10 12:17:41 +08:00
xuri 2ced00d6a8
This closes #872, support re-save the new spreadsheet after `SaveAs` 2021-07-09 00:04:58 +08:00
xuri 4f0d676eb7
Fix missing set each cell's styles when set columns style 2021-07-08 00:52:07 +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 f27624acdd
This closes #866, support use the defined name to reference the data range in pivot table options
- Fix incorrect scope when getting defined name
- Update docs: use column number instead of index on get column width
2021-06-29 22:26:55 +08:00
Zitao 24967a5c25
feat: stream write to zip directly (#863) 2021-06-22 14:06:08 +08:00
xuri 2cfcf9eb5f encode the escaped string literal which not permitted in an XML 1.0 document 2021-06-16 15:03:50 +00:00
strong c62ced7ca7
fix getRowHeight actually get the height of the next row (#860) 2021-06-13 14:42:09 +08:00
xuri bffb5d6b41
make the caller of `getRowHeight` function adapt row number change, update comment: use rows number instead of rows index. 2021-06-13 14:38:01 +08:00
xuri e354db69b0
string pattern match context check instead of regex lookahead assertion 2021-06-13 11:23:52 +08:00
xuri 5faa36430c
skip XML control character in the escape literal string, and update dependencies 2021-06-12 08:49:18 +08:00
xuri 83e12cc4e5
support escaped string literal basic string and use GitHub Action instead of TravisCI
- Note that: travis-ci.org will shutdown on June 15th, 2021, and I don't have enough permission to migrate this project to travis-ci.com currently
2021-06-11 22:48:37 +08:00
xuri 38162539b6
Create go.yml 2021-06-09 14:42:20 +08:00
jaby bafe087a61
This closes #858 (#859)
* fixes https://github.com/360EntSecGroup-Skylar/excelize/issues/858

* fixes https://github.com/360EntSecGroup-Skylar/excelize/issues/858

Co-authored-by: dvelderp <peter.de.velder@gmail.com>
2021-06-08 19:02:34 +08:00
jaby 2c90b3f535
fixes #856 (#857) 2021-06-07 18:49:20 +08:00
xuri d932e62a12
This closes #855, fix missing formula cell when getting rows value 2021-06-05 00:06:14 +08:00
Alluuu 58f9287559
This closes #409 Remove UTC timezone requirement from date.go (#853)
According to issue #409

There is absolutely no reason for the timezone to be in UTC, and converting the local times to UTC while keeping values is hacky at least.

Excel has no understanding of timezones, hence the user of this library should know what timezone their values are supposed to be, by following the timezone within their timeTime structs.
2021-06-04 23:06:58 +08:00
xuri 31d88a2624
Merge pull request #851 from si9ma/feat_disable_axis
feat: add disable option for chart xAxis and yAxis
2021-05-28 13:36:23 +08:00
si9ma faa50c3326 feat: add disable option for chart xAxis and yAxis 2021-05-27 13:30:48 +08:00
xuri 056dc8454e
Merge pull request #847 from qwaszx102938/master
fix the bug that  there was no count attribute in sharedStrings file, fix the bug that setting OutlineSummaryBelow false
2021-05-24 19:13:10 +08:00
william 2f74ec171d fix the bug when there was no count attribute in sharedStrings file 2021-05-24 15:27:36 +08:00
xuri 5bf3ea6154
This closes #842, avoid empty rows in the tail of the worksheet 2021-05-16 00:03:09 +08:00
ice c8c62c2d2a
* This closes #841, fix incorrect build number format in PR #839 2021-05-15 23:42:52 +08:00
ice 37342f6d81
"15" is the correct 24 hours time format in go (#839)
* "15" is the correct 24 hours time format in go
* fix number format convert issue and remove the `dateTimeFormatsCache`
2021-05-14 13:01:08 +08:00
xuri a1e1db1e6f
This closes #838, fix wrong worksheet XML path of the stream writer in some case 2021-05-14 00:09:23 +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 423bc26d1f
#65 fn: BESSELK and BESSELY 2021-05-09 14:20:17 +08:00
xuri 0e0237e62d
compatibility with non-standard page setup attributes 2021-05-07 23:08:58 +08:00