Commit Graph

581 Commits

Author SHA1 Message Date
xuri b45c4b094c Add a check for maximum limit hyperlinks in a worksheet
typo fixed
2019-04-21 00:20:19 +08:00
xuri 0660f30cdd
godoc update and typo fixed 2019-04-20 14:57:50 +08:00
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
xuri c423617e9d
Check max length for SetCellStr and fix coordinate issue for MergeCell 2019-04-14 12:55:44 +08:00
xuri 031ae303fd
Merge pull request #381 from aplulu/fix_calcchain
Fix two bugs related to Formula
2019-04-13 10:45:01 +08:00
xuri 8fff533b40
Merge pull request #379 from yoshhiide/bug-calc-position-object
fix calc object position  for addPicture
2019-04-12 11:32:26 +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 4e7d93a777
Resolve #377, avoid empty column in GetRows result 2019-04-07 14:04:41 +08:00
nabeyama yoshihide 8134197b07 Adjust coding style 2019-04-04 17:34:05 +09:00
nabeyama yoshihide b0acd922ef Fixed bug in the calculation target cell(row).
The target cell for calclator the height was shifted by 1.
2019-04-04 17:26:26 +09:00
nabeyama yoshihide 28c02e3aaf Fixed bug in column cell to check.
The target cell for calclator the width was shifted by 1.
2019-04-04 17:04:10 +09:00
xuri eca66180f1
resolve #359, optimize for saving duplicate images
Do not save duplicate images
2019-03-26 11:09:39 +08:00
Michael a94dcb9918
Do not save duplicate images
Adding the same image should create a drawing referencing the
already stored copy of the image.

Closes #359
2019-03-25 13:17:53 -05: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
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 677a22d994 resolve #366 fix image duplication 2019-03-22 14:37:59 +08:00
Veniamin Albaev 7d197c6d89 Fixed PR #356 regression RemoveCol() broken (#365) 2019-03-21 18:44:30 +08:00
xuri 70b1a29165
Use bitSize for float32 type numbers conversion, relate PR #361 2019-03-21 14:09:25 +08:00
Michael b2c12d784e SetCellFloat for floats with specific precision (#361)
This allows the user to set a floating point value into a
cell with a specific number of places after the decimal.

Closes #357
2019-03-21 11:41:46 +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
xuri beff7b4f3c
Typo fixed and godoc updated 2019-03-20 15:13:41 +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 092f16c744
Merge pull request #352 from caozhiyi/master
update go test and function docs
2019-03-07 16:26:15 +08:00
caozhiyi b974df402a update go test and function docs 2019-03-07 16:03:31 +08:00
Kimxu 164a3e126a update README and functions docs (#351)
* update README and functions docs

* update README and functions docs
2019-03-07 15:13:32 +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 f66212da9b
Resolve #106, #294 performance optimization for add hyperlink 2019-02-26 14:21:44 +08:00
xuri 1aed1d744b
Resolve #274, performance optimization for add images, charts and shapes 2019-02-25 22:14:34 +08:00
BluesJhao 1427027e38 Resolve #235, performance optimization for add comments (#347) 2019-02-25 00:29:58 +08:00
xuri c223815cfe
Resolve #345, get comments by target reference 2019-02-23 16:20: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
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
xuri b7b925c03f
Update readme 2019-01-29 10:47:24 +08:00
xuri 36fc39feb6
Merge pull request #340 from rentiansheng/datavalidation_formula_error
fix: datavalidation list error, formula > 255 issue #339
2019-01-24 09:27:06 +08:00
rentiansheng daf32a37f9 fix: datavalidation list error, formula > 255 issue #339 2019-01-23 22:07:11 +08:00
xuri 0c5c99e2ad
Merge pull request #337 from kkxkkxkkgh/paper-size
The function SetPageLayout support set paper size
2019-01-17 10:35:43 +08:00
kkxkkxkkgh 81948d9e1e The function SetPageLayout support set paper size 2019-01-13 21:58:50 +08:00
xuri 7f1323f7ac
Merge pull request #334 from albenik/duplicate_row
Resolve #333 New feature: File.DuplicateRowTo() duplicate row to a specified row position
2019-01-11 11:24:53 +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 b0ed4c12d2
Merge pull request #332 from mmitton/331_style_fill
Do not create a blank fill if no fill is specified in the style format
2019-01-10 10:56:07 +08:00
Michael W. Mitton 5dd00b9a00 Do not create a blank fill if no fill is specified in the style format 2019-01-09 10:12:53 -05:00
xuri 055d3fadf2
Merge pull request #330 from zhangleijlu/master
Resolve #318, add new functions `SetPageLayout` and `GetPageLayout`
2019-01-07 00:04:03 +08:00
zhangleijlu 034de7acd8 Resolve #318, add new functions and 2019-01-06 14:12:31 +08:00
xuri 969f4e2399
Resolve #329, add copyright agreement statement on README and LICENSE 2019-01-05 10:55:43 +08:00
Rafael Barros dea7ba0ec4 Fixes #195: Make GetRows return value avoid empty cell
* #195: proposed resolution to the issue

* Make GetRows return value avoid empty cell

* Update test file to fix broken testing.
2019-01-01 18:18:42 +08:00
xuri fabd9d013f
README updated 2019-01-01 13:20:14 +08:00
xuri 34ee74b72a
Merge pull request #326 from fossabot/master
Add license scan report and status
2018-12-31 00:05:33 +08:00