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
2021-12-27 23:49:28 +08:00
xuri
44a13aa402
Export 7 errors so users can act differently on different type of errors
2021-12-07 00:26:53 +08:00
xuri
bc3c7d51a2
ref #65 : new formula function PRICE
...
- fix COUPPCD result accuracy issue
- update close spreadsheet example in documentation and README
2021-11-17 00:25:36 +08:00
xuri
57275db22e
This closes #1057 , merge column styles to reduce spreadsheet size
2021-11-14 00:17:31 +08:00
xuri
adecf447e1
This closes #1059 , represent boolean in XML as 0/1 rather than true/false
2021-11-13 14:11:16 +08:00
xuri
a68bc34b0c
ref #65 : new formula functions PERCENTRANK.EXC, PERCENTRANK.INC and PERCENTRANK
2021-11-09 00:10:09 +08:00
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%
2021-09-19 11:06:54 +08:00
xuri
c3d1d7dddd
Preserve XML control character in bstrUnmarshal result
2021-08-28 09:23:44 +08:00
xuri
a55f354eb3
This closes #989 , closes #990
...
New API: `SetRowStyle` support for set style for the rows
Update documentation for the `GetRows`, `SetCellStyle` and `SetColStyle`
2021-08-17 00:01:44 +08:00
raochq
b02f864eab
This closes #844 , support get shared formula
2021-08-15 01:19:49 +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
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
1ec0207fb5
Fix code security issue
2021-07-20 23:04:50 +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
2cfcf9eb5f
encode the escaped string literal which not permitted in an XML 1.0 document
2021-06-16 15:03:50 +00: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
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
7e429c5b46
Fixe issue generated file corrupted caused by incorrect default XML namespace attributes
2021-04-30 00:14:42 +08:00
xuri
737b7839a2
Fixed #819 , read empty after streaming data writing
...
#65 fn: IMAGINARY, IMARGUMENT, IMCONJUGATE and IMDIV
2021-04-08 00:50:59 +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
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
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
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
b84bd1abc0
new formula fn: IF, LEN; not equal operator support and faster numeric precision process
2021-01-27 13:51:47 +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
c3e92a51d7
Compatible with Go 1.15, fix unit test failed on Windows and fixed #689 potential race condition
2020-08-15 09:19:35 +00: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
13e7bce6d2
improvement compatibility for the XML ignorable namespace
2020-07-20 00:05:37 +08:00
xuri
ca43c65115
Update test for addTable
2020-07-19 00:10:42 +08:00
xuri
c922c32fb7
support parse and generate XML element namespace dynamic, fix #651
2020-07-18 15:15:16 +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
5221729bc3
make columns iterator read cell streamingly and add max column limit on ColumnNumberToName
2020-06-22 00:05:19 +08:00
xuri
2ae631376b
add limits for total columns, row and filename length
2020-05-29 00:26:40 +08:00
xuri
7f78464f7f
add test for ReadZipReader, close #642
2020-05-23 13:29:51 +08:00
sachin-puranik
82bb1153d7
Improved error handling and stoped the crash due to fatel error ( #593 ) close #624
2020-05-23 12:51:46 +08:00
xuri
2efc7107ff
- transform the range to the matrix on the first arg of the formula
...
- typo fix
- reset cell with and height when insert picture into merged cell with autofit
2020-05-21 22:57:58 +08:00
xuri
48fc4c08a2
init formula calculation engine, ref #65 and #599
2020-05-03 18:44:43 +08:00
xuri
0f2a905324
Performance improvements
2020-04-05 13:51:00 +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
Michael
9fe267ffcf
Pre-allocate some memory when reading files ( #510 )
2019-10-24 22:14:33 +08:00
xuri
9c70d0ac86
Documentation updated, Go 1.10+ required
2019-08-11 00:36:14 +08:00
xuri
0660f30cdd
godoc update and typo fixed
2019-04-20 14:57:50 +08:00
xuri
40ff5dc1a7
refactor: handler error instead of panic,
...
Exported functions:
SetCellStyle
InsertCol
RemoveCol
RemoveRow
InsertRow
DuplicateRow
DuplicateRowTo
SetRowHeight
GetRowHeight
GetCellValue
GetCellFormula
GetCellHyperLink
SetCellHyperLink
SetCellInt
SetCellBool
SetCellFloat
SetCellStr
SetCellDefault
GetCellStyle
SetCellValue
MergeCell
SetSheetRow
SetRowVisible
GetRowVisible
SetRowOutlineLevel
GetRowOutlineLevel
GetRows
Columns
SearchSheet
AddTable
GetPicture
AutoFilter
GetColVisible
SetColVisible
GetColOutlineLevel
SetColOutlineLevel
SetColWidth
GetColWidth
inner functions:
adjustHelper
adjustMergeCells
adjustAutoFilter
prepareCell
setDefaultTimeStyle
timeToExcelTime
addDrawingChart
addDrawingVML
addDrawingPicture
getTotalRowsCols
checkRow
addDrawingShape
addTable
2019-03-23 20:08:06 +08:00