Commit Graph

189 Commits

Author SHA1 Message Date
xuri 8922f65978
Combine functions:
workBookRelsWriter, drawingRelsWriter into relsWriter;
drawingRelsReader, workbookRelsReader, workSheetRelsReader into relsReader;
addDrawingRelationships, addSheetRelationships into addRels
2019-09-16 01:17:35 +08:00
xuri 9c70d0ac86
Documentation updated, Go 1.10+ required 2019-08-11 00:36:14 +08:00
xuri cbe919fdf6
New feature: sparkline supported 2019-08-04 20:24:59 +08:00
xuri 35e485756f
Resolve #217, new function add VBA project supported. 2019-07-21 12:56:36 +08:00
xuri 54def7eaad
Add TIF, TIFF format images and more detailed error information when open the encrypted file 2019-06-27 21:58:14 +08:00
xuri b1f632d408 Resolve #393, upgrade Go module to v2 2019-05-02 15:57:47 +08:00
xuri 0660f30cdd
godoc update and typo fixed 2019-04-20 14:57:50 +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 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
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 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 0072bb7310
resolve the issue corrupted xlsx after deleting formula of cell, reference #346 2019-02-22 22:17:38 +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
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
Veniamin Albaev 7b7ca99f5d Duplicate row (#317)
* go mod tidy applied

* File.DuplicateRow() method added
2018-12-26 13:33:40 +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
xuri 1c45425f12
resolve #276, add OfficeOpenXML-XMLSchema-Strict mode support 2018-10-17 00:28:31 +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 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 d6468fc114
- Initialize theme support;
- RGBA, HSL color convert has been added;
- go test updated
2018-07-07 15:59:48 +08: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 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
Lunny Xiao 38ad20efc1
save bytes on memory instead of string 2018-05-07 16:12:51 +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
Ri Xu 96b3e1ea74
Bugfix: corrupted xlsx after write operation, relate issue #152.
Signed-off-by: Ri Xu <xuri.me@gmail.com>
2017-11-16 10:24:45 +08:00
xuri a4ffb4fbfc
Merge pull request #141 from WingGao/wing
fix OpenReader no sheet error
2017-11-03 10:31:48 +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
Wing Gao 48b8bac126 fix OpenReader no sheet error 2017-10-27 22:05:00 +08:00
Ri Xu 8077732dff
Bugfix: read sheet name error, relate issue #137
Signed-off-by: Ri Xu <xuri.me@gmail.com>
2017-10-18 19:07:35 +08:00
Ri Xu 9b5b74d480
Performance optimization, use the array index instead of the value in range. 2017-10-16 10:42:43 +08:00
Ri Xu 905be463ed
Improve code readability. 2017-09-30 17:07:59 +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 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 38df838598
Bugfix: unable to read the value of the merged cell, relate issue #78 2017-07-05 13:30:56 +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 e05867a033
Function `GetCellValue()` performance improvement by avoid repeating deserialization, relate issue #70. 2017-06-29 13:28:44 +08: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 35841caaf1
- Function `formattedValue()` performance improvement by avoid repeating deserialization, relate issue #64;
- Make function `ToAlphaString()` exportable, relate issue #63
2017-06-26 18:44:19 +08:00
Ri Xu db4aff04fd
- Handle pre-defined number format set of cell when set cell value with `time.Time` data type, related issue #62;
- go doc updated
2017-06-23 21:07:30 +08:00
Ri Xu efff54ccde - Fixed coordinate parse error in function `SetCellStyle()`, relate issue #60;
- Simplified code
2017-06-12 18:05:09 +08:00
Ri Xu d372bb977f Priority cell style, when the cell and the column at the same time with the style attribute. Relate issue #54 and #56. 2017-05-30 12:13:13 +08:00
Ri Xu e41ee8a124 Set cell support column style predefined detection, relate issue #54. 2017-05-26 09:31:20 +08:00
Ri Xu dea57dd0ae Code optimize. 2017-05-24 14:17:35 +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 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 330c7a0925 Performance enhancements, remove redundant XML element checking logic. Relate issue #29. The benchmark report of the current version of this library is shown on the wiki page. 2017-03-31 17:14:35 +08:00
Ri Xu bee487c445 Leading space(s) character in cell value detection added. Related issue #32. 2017-03-28 11:48:09 +08:00
Ri Xu de6e075713 Performance improvement 2017-03-12 20:38:26 +08:00
Ri Xu 5384756d64 - Complete the element `sheetFormatPr` struct definition;
- Partial logic performance optimization, use pointer reference instead of a pass the variable value;
- Add comments for content types struct definition;
- Update go test `TestSetBorder` section
2017-03-10 23:10:15 +08:00
Ri Xu 1f73f08185 - New feature: border setting support (Related issue #21);
- Function parameter code is simplified;
- Fix element `Tint` value parsing error in worksheet;
- Update go test
2017-03-06 12:05:41 +08:00
Josh Fyne bd817ea890 Put path back into a file 2017-02-16 13:38:57 -05:00
Josh Fyne e8ba09d0c5 io.Reader not io.ReaderAt 2017-02-16 13:30:05 -05:00
Josh Fyne d9f4a2f154 Standardize input and output 2017-02-16 13:25:55 -05:00
Ri Xu 0833a9d5da - Improved performance when reading large files, call Token to read tokens one by one instead Unmarshal. Related issue #20 ;
- Fix go test typo;
- Update README
2017-02-12 19:03:24 +08:00
Ri Xu a1060e779e Make functions: `SetCellValue`, `SetCellInt`, `SetCellHyperLink`, `SetCellFormula`, `GetCellValue` and `GetCellFormula` to support the merged cells. 2017-01-25 18:13:11 +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 a99f0227b0 - New function `AddPicture()` added, support to add picture into excel cell;
- go test updated;
- fix typo and `gofmt -s` formatted
2017-01-17 19:06:42 +08:00
Sharsie 670a587912 Add setter for default cell value
SetCellStr escapes the value in a cell so the excel sheet cannot use the value in formulas.

SetCellDefault accepts a string value and sets it to a cell as a raw value without escaping it
2017-01-11 19:26:06 +01: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 a16d2ec83b Change complete rows logic to fix call `SetCellValue`makes file corruption in some case. 2016-12-23 21:41:54 +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 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 2a3620e750 BugFix: `SetCellValue` function assertion logic will cause panic in some case. 2016-11-24 11:42:51 +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 cbfd657753 New function SetCellValue added and update godoc example. 2016-09-09 19:39:41 +08:00
Ri Xu 9c14741a6b Fix missing show grid lines property and godoc updated. 2016-09-07 21:26:58 +08:00
Ri Xu 0dd0fba96b Move execute checkRow logic when XLSX file open, speed up library write file. 2016-09-07 20:09:02 +08:00
Ri Xu df8f85d6ab Open file error return added and UpdateLinkedValue function added to fix linked values within a spreadsheet are not updating. 2016-09-06 21:20:24 +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 7bd8d9ee5b Fix checkRow() out of range 2016-09-02 19:06:48 +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