Michael
0f9170a03b
Resolve #382 , rewrite prepareSheetXML to scale linearly ( #383 )
...
* Rewrite prepareSheetXML to scale linearly
We don't need to backfill columns into every row for most purposes
Provided makeContiguousColumns for setting styles where we do
need it for a specific region.
Added a benchmark to monitor progress. For 50,000 rows this went
from about 11 seconds to 1 second. The improvements are more
dramatic as the row/column count increases.
* Assigning that row value was redundant
2019-04-16 14:50:16 +08:00
xuri
a88459d5f1
add unit tests to functions
2019-04-16 10:57:21 +08:00
xuri
f2df344739
Resolve #369,#370
...
add error return value
exported functions:
GetMergeCells
ProtectSheet
UnprotectSheet
UpdateLinkedValue
GetMergeCells
SetSheetVisible
inner functions:
workSheetReader
copySheet
2019-04-15 11:22:57 +08:00
Aplulu
841ff4a03e
Fix out of range panic when removing formula.
...
Fix file corruption issue when deleting a sheet containing a formula.
2019-04-09 23:31:12 +09: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
Michael
2874d75555
Add benchmark for adding images to sheet ( #367 )
...
* Add benchmark for adding images to sheet
This should help track performance regressions in future changes.
* Only transform sheet name if necessary
2019-03-23 16:09:48 +08:00
xuri
40ea8eb014
resolve #360 , fix axis parse issue when add / get pictures;
...
typo fixed and go test updated
2019-03-20 16:52:33 +08:00
Veniamin Albaev
dc01264562
Huge refactorig for consistent col/row numbering ( #356 )
...
* Huge refactorig for consistent col/row numbering
Started from simply changing ToALphaString()/TitleToNumber() logic and related fixes.
But have to go deeper, do fixes, after do related fixes and again and again.
Major improvements:
1. Tests made stronger again (But still be weak).
2. "Empty" returns for incorrect input replaces with panic.
3. Check for correct col/row/cell naming & addressing by default.
4. Removed huge amount of duplicated code.
5. Removed ToALphaString(), TitleToNumber() and it helpers functions at all,
and replaced with SplitCellName(), JoinCellName(), ColumnNameToNumber(), ColumnNumberToName(), CellNameToCoordinates(), CoordinatesToCellName().
6. Minor fixes for internal variable naming for code readability (ex. col, row for input params, colIdx, rowIdx for slice indexes etc).
* Formatting fixes
2019-03-20 00:14:41 +08:00
xuri
f66212da9b
Resolve #106 , #294 performance optimization for add hyperlink
2019-02-26 14:21:44 +08:00
xuri
0072bb7310
resolve the issue corrupted xlsx after deleting formula of cell, reference #346
2019-02-22 22:17:38 +08:00
kkxkkxkkgh
81948d9e1e
The function SetPageLayout support set paper size
2019-01-13 21:58:50 +08:00
zhangleijlu
034de7acd8
Resolve #318 , add new functions and
2019-01-06 14:12:31 +08:00
xuri
fabd9d013f
README updated
2019-01-01 13:20:14 +08:00
xuri
9a6f66a996
New feature: the function `SearchSheet` now support regular expression, relate pull request #316
2018-12-26 14:48:14 +08:00
r-uchino
9b8baf75ad
Add RegSearchSheet ( #316 )
2018-12-26 13:30:59 +08:00
xuri
e728ff1498
Fixes #308 , refactor `NewSheet()`, `DeleteSheet()`, `SetActiveSheet()` and `GetActiveSheetIndex()`
2018-12-15 00:08:55 +08:00
xuri
81b43da7b6
Fix comments according to best practices by effective go
2018-12-11 15:05:15 +13:00
xuri
b89f75c896
Add new logo for excelize
2018-12-05 00:27:19 +08:00
taomin597715379
1bb59f75ea
resolve #297 , fix GetSheetMap() failed
...
Change-Id: I585a4a017867b89bd39cb6e711467a46eaa757be
2018-11-24 21:27:29 +08:00
q523591
51857a217d
New function `UnprotectSheet()` has been added
2018-11-04 23:14:43 +08:00
HcySunYang
4dbc78ce0a
resolve #273 new feature: protect sheet support
...
new feature: protect sheet support, relate issue #273
2018-11-02 23:08:31 +08:00
peng
e2e58a3a44
New function: `SearchSheet()`, relate issue #277
2018-10-27 14:19:54 +08:00
xuri
1c45425f12
resolve #276 , add OfficeOpenXML-XMLSchema-Strict mode support
2018-10-17 00:28:31 +08:00
xuri
204139739a
Merge branch 'master' into master
2018-09-27 23:40:00 +08:00
xuri
3e004d900b
Comments style changed.
2018-09-14 00:58:48 +08:00
xuri
13a9769cc5
Comments style changed.
2018-09-14 00:44:23 +08:00
xuri
2f146c923c
Comments style changed.
2018-09-14 00:35:47 +08:00
xuri
6ced438f39
New function `AddPictureFromBytes()` has been added, this resolve #259 and close #271 .
2018-09-14 00:24:49 +08:00
xuri
b4a6e61ec3
Fix golint errors under confidence 0.1
2018-09-12 15:47:56 +08:00
xuri
ec37b114c3
Fixes #256 and format document.
2018-08-06 10:21:24 +08:00
xuri
a3571ee39b
Bugfix: create worksheet cause file issue. Relate issue #249 .
2018-07-17 15:28:22 +08:00
Olivier Mengué
4a1b406456
CopySheet() using reflect instead of encoding/gob
...
Use github.com/mohae/deepcopy to deep copy worksheets instead of the
internal deepcopy function that was using encoding/gob serialization and
deserialization.
Rationale:
1/ using `encoding/gob` is much slower than
[`mohae/deepcopy`](https://github.com/mohae/deepcopy/ )
2/ When building an application this implementation of `deepcopy` drags
the `encoding/gob` package into the binary. And this package is much
bigger than `mohae/deepcopy` (which only depends on `time` and `reflect`).
```
$ LC_ALL=C stat -f "%6z %N" $(go env GOPATH)/pkg/$(go env GOOS)_$(go env GOARCH)/github.com/mohae/deepcopy.a $(go env GOROOT)/pkg/$(go env GOOS)_$(go env GOARCH)/encoding/gob.a
10508 .../pkg/darwin_amd64/github.com/mohae/deepcopy.a
541818 .../pkg/darwin_amd64/encoding/gob.a
```
2018-06-14 17:54:31 +02:00
Sebastian Willing
ccdefb3b16
Documentation:
...
* Add information about return value of NewSheet()
* Minor documentation language fixes
Samples:
* Added sample go file for dumping a XLSX file to the console
2018-06-11 17:25:28 +02:00
xuri
9e463b4614
- Add error return value for functions: `AddChart()`, `AddComment()`, `AddPicture()`, `AddShape()`, `AddTable()` and `SetConditionalFormat()`
...
- go test has been updated
2018-05-27 11:25:55 +08:00
xuri
d96440edc4
- Performance optimization 20% faster, 14% memory savings on set cell values;
...
- Using the canonical syntax in issue template and contributing guide;
- go test has been updated
2018-05-15 21:00:56 +08:00
xuri
167554bfec
Improve unit testing, remove redundant code.
2018-05-14 10:12:46 +08:00
Lunny Xiao
38ad20efc1
save bytes on memory instead of string
2018-05-07 16:12:51 +08:00
Ri Xu
200437d778
Fix document typo.
2018-05-03 10:01:41 +08:00
Ri Xu
a9c7d6637c
- Support to set the positioning of a picture, relate issue #214 ;
...
- go test and godoc has been updated
2018-04-26 11:41:13 +08:00
Ri Xu
d65b30055d
- Update the function `NewSheet()` to handle when already exists a worksheet of the same name, relate pull request #196 ;
...
- go test and godoc has been updated
2018-03-16 20:54:07 +08:00
Ri Xu
06e54bf1c6
Readme and godoc has been updated.
2018-03-06 10:36:12 +08:00
Ri Xu
749d12eece
- Fix `DeleteSheet()` make broken file, relate issue #165 ;
...
- godoc updated
2017-12-04 23:54:32 +08:00
Ri Xu
f10ee929d0
- Bugfix: use sheet name in func `AddPicture`, relate issue #142 ;
...
- godoc updated
2017-10-31 16:33:36 +08:00
Ri Xu
ebafbdde73
Bugfix: use sheet name in func `AddChat`, relate issue #138
...
Signed-off-by: Ri Xu <xuri.me@gmail.com>
2017-10-20 14:40:57 +08:00
Ri Xu
905be463ed
Improve code readability.
2017-09-30 17:07:59 +08:00
Ri Xu
b7b937a8a3
godoc updated.
2017-09-13 22:17:40 +08:00
Ri Xu
f05f799f8d
- API changed, use worksheet name instead of "sheet" + index, related issue #25 , #43 , #47 , #51 , #89 , #101 , #116 and #120 .
...
- go test updated
2017-09-13 22:00:33 +08:00
Ri Xu
1ec2661dda
Bugfix: deep copy issue with function `CopySheet()`, relate PR #108 .
2017-08-19 13:37:15 +08:00
Takayuki Usui
02728de4d2
Conut and trim sheet name in UTF-8
2017-08-13 13:19:53 +09:00
Ri Xu
6626a26f7b
Simplify code and update unit tests.
2017-08-01 16:35:18 +08:00
Ri Xu
308776e350
Optimize code, go test and godoc updated.
2017-07-30 15:46:04 +08:00
Ri Xu
bbed2f6dc9
- Init create or remove panes support;
...
- go test updated
2017-07-30 12:40:59 +08:00
Ri Xu
3b2c80ddc3
Trim blank cells which created by `completeCol()`, relate issue #81
2017-07-16 13:03:45 +08:00
Mark Stenglein
4a17c14399
SHEET.GO: Fix small typo
...
Adds a '{' to the example for sheet.GetSheetMap()
Signed-off-by: Mark Stenglein <mark@stengle.in>
2017-07-05 21:59:19 -04:00
Ri Xu
555e2ba9a8
- Make function `TitleToNumber()` exportable, note that function `ToAlphaString()` return value calculation changes, get more info from go doc. Relate issue #63 ;
...
- Readme and go doc updated
2017-06-27 17:53:06 +08:00
Ri Xu
a9f671d98f
- New functions: `GetSheetVisible()` and `GetRowVisible()` added, relate issue #61 ;
...
- go test updated
2017-06-14 15:01:49 +08:00
Ri Xu
c89d842352
Init auto filter support, relate issue #59 .
2017-06-08 11:11:11 +08:00
Ri Xu
dea57dd0ae
Code optimize.
2017-05-24 14:17:35 +08:00
Ri Xu
d93a156355
Initialize comments support & go test updated.
2017-05-13 13:28:21 +08:00
Ri Xu
7f30a6c943
- Initialize shape support: new function `AddShape()` added. Relate issue #38 ;
...
- Drawing `nvPicPr` element ID property calculation changed;
- go test updated
2017-04-30 20:03:43 +08:00
Ri Xu
2868bd3ec9
- New function `HideSheet()` and `UnhideSheet()` added;
...
- go test updated
2017-04-26 11:43:39 +08:00
Ri Xu
c7e277a07a
- New function `CopySheet()` added, relate issue #33 ;
...
- Typo fixed;
- go test updated
2017-04-04 19:12:35 +08:00
Ri Xu
b4ed9cc40f
New function `GetSheetIndex()` added, relate issue #25 ;
...
Fix return index error in function `GetSheetMap()`;
Fix return worksheet name error in function `GetSheetName()`;
go test updated
2017-04-01 21:02:25 +08:00
Ri Xu
8fd061b98f
- Fix SheetCount count error;
...
- Optimize deserialization operations;
- README updated, add go version required notice
2017-04-01 13:56:39 +08:00
Ri Xu
02b81b7efe
- Get an images in a cell supported, new function `GetPicture` added;
...
- go test updated
2017-03-28 21:18:06 +08:00
Ri Xu
0d3452fbe2
- Delete sheet from workbook support, related issue #30 ;
...
- go test updated
2017-03-22 18:51:18 +08:00
Ri Xu
de6e075713
Performance improvement
2017-03-12 20:38:26 +08:00
Ri Xu
bd5b033b02
Support set work sheet background image.
2017-01-24 18:29:02 +08:00
Ri Xu
81146218c7
Update README, godoc and fix typo.
2017-01-22 19:20:33 +08:00
Ri Xu
4a9b39afc6
- Add hyperlink and set formula support for cell support;
...
- Character limits for cells added;
- Update go test and fix typo
2017-01-19 14:05:32 +08:00
Ri Xu
52796f6e58
Format commants, break comments after 80 characters.
2017-01-18 16:05:01 +08:00
Ri Xu
f05df2a018
- New function `SetSheetName` and `SetColWidth` added, support rename sheet and set column width;
...
- Add escape characters of sheet name;
- Update go test and fix typo
2017-01-18 14:47:23 +08:00
Ri Xu
9e8d36ce59
- Performance improvement, remove `replaceRelationshipsID` and `workBookCompatibility` functions;
...
- New functions `GetActiveSheetIndex`, `GetSheetName` and `GetSheetMap` added.
2016-12-31 23:47:30 +08:00
Ri Xu
f958f05a3b
- Fix issue: sheet protection and conditional formatting proprietary missing after save;
...
- Update workbook and sheet relationships and self-close tag replacement hack functions
2016-12-26 23:55:59 +08:00
Ri Xu
c5cc500b88
- Fix issue: pivot cache and extending spreadsheetML missing;
...
- Compatibility improved: relationship namespace in `workbook.xml` has been changed (`xmlns:mc`, `xmlns:x15` and `mc:Ignorable` added)
2016-12-26 18:06:12 +08:00
Ri Xu
b84bfa7eab
- Update maximum 31 characters allowed in sheet title;
...
- Fix issue XML tag `headerFooter` and `sheetPr` element self-close errors cause file corruption;
- Fix issue `Section` and `Pane` element order make file corruption in some case;
- Change sheet `rId` calculation method in `/xl/workbook.xml`, fix makes file corruption in some case;
- Compatibility improved: add `xlsxTabColor` struct and some XML element for worksheet
2016-12-23 17:47:25 +08:00
Ri Xu
a08c8eb1ae
- Fix issue comments missing after save;
...
- Update import PKG syntax in struct;
- Update test XLSX file (include table, charts, functions, comments and hyperlink on Sheet1)
2016-12-22 10:10:40 +08:00
Ri Xu
ddeed48fc1
- Fix issue background image and table missing after save;
...
- Update test template for this fix
2016-12-20 20:46:19 +08:00
Ri Xu
6e1475a242
Fix hyperlink missing after save issue and update completion row element logic to enhance compatibility.
2016-12-20 14:40:36 +08:00
Ri Xu
6185cd577d
Update go test.
2016-10-23 16:46:46 +08:00
Ri Xu
75abc628fe
Update godoc of package.
2016-10-19 20:39:44 +08:00
Ri Xu
2e8fa2d39c
Use conjunction with strings.Map to split Axis and update godoc.
2016-09-12 17:37:06 +08:00
Ri Xu
50863294f9
Fix issue #2 change project to object-oriented style and update readme file.
2016-09-05 16:37:15 +08:00
Ri Xu
956a4627d1
Fix issue #4 use builtin `map` instead of home-built.
2016-09-05 10:44:32 +08:00
Ri Xu
9c3a24d5c3
xml marshal without indent and use buffer in string concatenation.
2016-09-04 19:25:31 +08:00
Ri Xu
192af02a40
Format code with golint rules
2016-09-02 11:54:52 +08:00
Ri Xu
3c4ad28db7
- Get cell value support
...
- Optimisation code use fmt package
- Update README
- Remove useless function
2016-08-30 21:54:28 +08:00
Ri Xu
a9d3ee2869
Init commit.
2016-08-30 11:51:31 +08:00