Commit Graph

190 Commits

Author SHA1 Message Date
xuri 7e77e14814
Resolve #397, support set style by columns 2019-05-16 13:36:50 +08:00
xuri 69b38ddcd6
Resolve #394, init set header and footer support 2019-05-05 16:25:57 +08:00
xuri b1f632d408 Resolve #393, upgrade Go module to v2 2019-05-02 15:57:47 +08:00
xuri b45c4b094c Add a check for maximum limit hyperlinks in a worksheet
typo fixed
2019-04-21 00:20:19 +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
xuri f0244c0016
Add unit test to improve testing coverage 2019-03-24 13:08:32 +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
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
caozhiyi b974df402a update go test and function docs 2019-03-07 16:03:31 +08:00
Veniamin Albaev 12c1e2481e Implement consistent row addressing by Excel row number starting with 1 (#350)
* Implement consistent row addressing by Excel row number starting with 1

1. Added second versions for all row manipulation methods with zero-based row addressing.
2. Fixed methods documentation to explicitly describe which row addressing used in method.
3. Added WARNING to README.md.
4. Cosmetic change: All row test moved to file `rows_test.go`.

* TravisCI: go1.12 added to tests matrix

* BACKWARD INCOMPARTIBLE: Use only Excel numbering logic from 1 row

* README updated
2019-03-06 21:40:45 +08:00
xuri 1aed1d744b
Resolve #274, performance optimization for add images, charts and shapes 2019-02-25 22:14:34 +08:00
xuri 0072bb7310
resolve the issue corrupted xlsx after deleting formula of cell, reference #346 2019-02-22 22:17:38 +08:00
Olivier Mengué e780e41e02 Faster TitleToNumber (#343)
* TestTitleToNumber: more test cases

* TitleToNumber: drop use of math.Pow()

Compute using pure integers

* TitleToNumber: simplify

Remove unecessary casts to int
2019-02-02 11:05:01 +08:00
Veniamin Albaev 725c1a0c40 New feature: File.DuplicateRowTo() duplicate row to specified row position.
DuplicateRowTo() is similar to DuplicateRow() but copies specified row not just after specified source row
but to any other specified position below or above source row.

Also I made minor modifications of tests: using filepath.Join() instead of direct unix-way paths strings
to avoid possible tests fails on other OS.
2019-01-10 14:29:19 +03:00
xuri fabd9d013f
README updated 2019-01-01 13:20:14 +08:00
Veniamin Albaev 35426ed5dc Tests refactoring
Primary motivation: Avoid statefull tests with not ignorable git file tree changes.
Multiple tests reads and overwrites signle file for won needs.
Multiple tests reads and overwrites file under version control.

Secondary motivation: Minimal tests logic aligment, separate error expectation
and not error expectation tests. Introduce sub-test over test data sets and so far.

This commit is not ideal but necessary (IMHO)
2018-12-27 13:51:44 +03:00
xuri 9a6f66a996
New feature: the function `SearchSheet` now support regular expression, relate pull request #316 2018-12-26 14:48:14 +08:00
Veniamin Albaev 7b7ca99f5d Duplicate row (#317)
* go mod tidy applied

* File.DuplicateRow() method added
2018-12-26 13:33:40 +08:00
r-uchino 9b8baf75ad Add RegSearchSheet (#316) 2018-12-26 13:30:59 +08:00
xuri b04107c4a3
Resolve #311, create 2D/3D area, stacked area, 100% stacked area chart support 2018-12-23 00:07:47 +08:00
xuri 3ca3156d45
Merge pull request #313 from sairoutine/feature/get_merge_cells
Add GetMergeCells
2018-12-19 23:32:12 +08:00
sairoutine 3012df08eb Add GetMergeCells 2018-12-19 20:54:38 +09:00
xuri b89f75c896
Add new logo for excelize 2018-12-05 00:27:19 +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
covv 75edf1ac7d Add testing case for the function `SearchSheet()`. 2018-10-27 22:54:17 +08:00
xuri 90bdd3632f
Fix the issue caused by missing tradition to strict conversion for `sharedStringsReader()`, relate issue #276 2018-10-18 10:23:08 +08:00
lizheao 2be4d45c62 feat: add new function and refactor writeto action
* add new exported function to get Excel file content buffer

* refactor the WriteTo function
2018-10-12 10:25:10 +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 a3571ee39b
Bugfix: create worksheet cause file issue. Relate issue #249. 2018-07-17 15:28:22 +08:00
xuri 58a7b23d11
Merge pull request #246 from nad2000/retrieve-comments
added retrieval of worksheet comments
2018-07-10 10:10:38 +08:00
xuri d6468fc114
- Initialize theme support;
- RGBA, HSL color convert has been added;
- go test updated
2018-07-07 15:59:48 +08:00
Rad Cirskis 1a953b6601 added unit tests 2018-06-30 22:55:14 +12: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
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 aaced358f1
- Initialize shared formula types support, relate issue #227;
- go test and godoc has been updated
2018-05-26 16:23:15 +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
xuri eb62256d16
Simplify testing code, add test case for outline functions and update the godoc. 2018-05-11 10:14:18 +08:00
xuri e8961f0aff
- Bugfix: set font family not works, relate issue #222;
- Remove useless function `replaceWorkSheetsRelationshipsNameSpace()`;
- Make test cases use strict error checking
2018-05-08 10:36:13 +08:00
Ri Xu 3ca180f09c
Merge test cases and use strict error checking. 2018-05-07 16:14:35 +08:00
Ri Xu 934ecec1a9
- Set name of table support in `AddTable()`, relate issue #216;
- godoc and go test has been updated
2018-05-04 11:20:51 +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 9ee57fdb38
Fix typo and adding Chinese version document. 2018-04-23 00:14:58 +08:00
Ri Xu 564ebe48dd
- Fix `checkCellInArea()` index out of range when merged cell ref is single coordinate, relate issue #206;
- go test updated;
- Repository icon for SourceTree has been added
2018-04-08 10:31:11 +08:00
Ri Xu a6fc5a721d
- Make row index consistent in function `SetRowHeight` and `GetRowHeight`, fix issue #205;
- go test and godoc has been updated
2018-04-02 10:59:15 +08:00
Ri Xu dcbde4b831
- Add categories or values on reverse order (orientation of the chart) support, and set auto or fixed maximum, minimum of the axis, relate issue #202;
- go test and godoc has been updated
2018-03-29 20:17:07 +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 770026e956
- New function `SetSheetRow()` has been added for support write whole line at once, relate issue #96 and #194;
- go test and godoc updated;
- Note that this function performance has not been tested
2018-03-12 20:14:39 +08:00
Ri Xu ecc3adf22a
- Add protection properties associated with the cell support, relate issue #191;
- godoc and go test has been updated
2018-03-07 12:56:18 +08:00
Ri Xu 06e54bf1c6
Readme and godoc has been updated. 2018-03-06 10:36:12 +08:00
Ri Xu 45c31c4764
- Update the function `AddChart()`: clustered, stacked and 100% stacked bar and column series charts supported, relate issue #190;
- go test and godoc has been updated
2018-03-05 21:23:52 +08:00
Ri Xu b1b056e0eb
Handle special shared string table file name `xl/SharedStrings.xml`, relate issue #188 2018-03-02 10:19:40 +08:00
Ri Xu 9d7b94d760
Update godoc to make charts compatibility with WPS, relate issue #187. 2018-02-12 11:45:42 +08:00
Ri Xu 7621927573
- Add a hyperlink to an image support for the function `AddPicture()`, relate issue #185;
- go test and document has been updated.
2018-02-03 15:02:37 +08:00
dvelderp b25ec6e9d3 xlsx.SetCellValue() now supports bool value 2018-01-25 18:08:26 +01:00
Ri Xu 50cdaed5a3
- Add 3D column and 3D 100% stacked column chart support, relate issue #160;
- go test updated
2018-01-08 23:03:59 +08:00
Ri Xu 52b1a8e896
- Function `SetCellValue()` time.Duration support added, relate issue #176;
- go test updated
2018-01-05 09:39:31 +08:00
xuri 443695732e
Merge pull request #153 from jinzhu/master
Rename import path to github.com/360EntSecGroup-Skylar/excelize
2017-12-01 16:50:07 +08:00
Rohan Allison cc1d3fefc2 Add stacked bar chart 2017-11-24 11:29:35 -06:00
Jinzhu 21214a514d Rename import path to github.com/360EntSecGroup-Skylar/excelize 2017-11-16 11:07:39 +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 b4ffa8ce48
- Add unsigned integer data type support, related issue #136;
- go test and godoc updated

Signed-off-by: Ri Xu <xuri.me@gmail.com>
2017-10-18 18:42:20 +08:00
Ri Xu e820388d70
Handle coordinate parse exception, relate issue #122. 2017-09-19 11:59:33 +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 3e7192b6ab
Simple go test. 2017-09-11 15:53:25 +08:00
Ri Xu 565b23e0e9
go test added for pull request #114 2017-09-06 13:15:25 +08:00
Ri Xu 1ec2661dda
Bugfix: deep copy issue with function `CopySheet()`, relate PR #108. 2017-08-19 13:37:15 +08:00
Ri Xu 77af25295e
- Conditional format with formula support, relate issue #75;
- go test and readme update
2017-08-18 20:55:27 +08:00
Ri Xu 67636039f6
- Init conditional format support, relate issue #75;
- go test and godoc updated
2017-08-11 23:15:33 +08:00
Ri Xu a8cf38ebd5
- New function `GetCellHyperLink()` added, relate issue #98;
- go test added
2017-08-08 20:08:54 +08: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
Youngwan Kim 5a4870d1cf Add extra argument "Linktype" to SetCellHyperLink
it support "External" and "Location"

Signed-off-by: Youngwan Kim <y103.kim@gmail.com>
2017-07-30 15:46:58 +09:00
Ri Xu bbed2f6dc9
- Init create or remove panes support;
- go test updated
2017-07-30 12:40:59 +08:00
Ri Xu 4a74951e81
- Support set custom number format, relate issue #86;
- go test and godoc updated
2017-07-27 11:46:04 +08:00
Ri Xu 6aa59a1af2
- Init insert/remove column/row support. Relate issue #77 and #82;
- Readme and go test updated
2017-07-24 10:26:02 +08:00
Ri Xu 101abe8e98
Add currency format code and go test updated. 2017-07-15 16:03:12 +08:00
Ri Xu 60fa5a5be1
- Display negative numbers by applying a red color supported;
- go test updated
2017-07-15 14:31:07 +08:00
Ri Xu bc31e545c8
- Currency format supported, relate issue #80;
- go test and godoc updated
2017-07-14 21:15:44 +08:00
Ri Xu 20aae4e0e6 Repo URI changed. 2017-07-11 14:54:47 +08:00
Ri Xu 654a676d93
- New function `NewStyle()` added and function `SetCellStyle()` has been exported, relate issue #72;
- go test and go doc updated
2017-06-29 19:41:00 +08:00
Ri Xu 86466654e2
- Unify the index row number index of functions `SetRowHeight()` and `GetRowHeight()` relate issue #68;
- Unify the return value data type of functions  `SetColWidth()` and `GetColWidth()`;
- go test updated
2017-06-29 11:14:33 +08:00
Ri Xu 66e5d1fa80
API changed, use `NewFile()` instead of `CreateFile()` and use `SaveAs()` instead of `WriteTo()`. 2017-06-28 17:03:20 +08:00
Ri Xu 7bc43301da
- Support insert new lines into shape, relate issue #38, note that the format set parameter of function `AddShape()` changed;
- go test and go doc updated
2017-06-19 11:18:58 +08:00
Ri Xu 9928bbc7c8 - New functions `GetColVisible()` and `SetColVisible()` added, relate issue #61;
- go test updated;
- Fix typo
2017-06-15 11:03:29 +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 70f6328150 Support set font style of shape text. Relate issue #38. 2017-05-16 20:42:01 +08:00
Ri Xu cf97118bfe - The max author and text in comment limit added;
- go doc and go test updated
2017-05-13 14:12:43 +08:00
Ri Xu d93a156355 Initialize comments support & go test updated. 2017-05-13 13:28:21 +08:00
Ri Xu 8fbab47444 - Formatted cell data support, fix issue #48;
- Function `SetCellValue()` support `time.Time` data type parameter, relate issue #49;
- go doc and go test updated
2017-05-05 14:40:28 +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 46b8c46d91 - Initialize table support;
- go test updated
2017-04-28 15:49:41 +08:00
Ri Xu 2868bd3ec9 - New function `HideSheet()` and `UnhideSheet()` added;
- go test updated
2017-04-26 11:43:39 +08:00
Ri Xu 266d2c36e5 - Font bold, italic and underline style support. Relate issue #45;
- Function `GetRows()` doc updated, relate issue #43;
- go test and embed template updated
2017-04-25 18:43:10 +08:00
Ri Xu d78ac4108c - Update doc of function `AddChart()`;
- Readme updated;
- go test update
2017-04-23 00:39:14 +08:00
Ri Xu 219aadeb76 - Initialize char support, relate issue #31;
- Doc for function `GetRows()` updated, relate issue #43;
- Fix doc typo in `xmlContentTypes.go`;
- Default template updated;
- Readme updated;
- go test updated
2017-04-23 00:10:23 +08:00