d71884f3e2
fpspreadsheet: Improve prev commit. Fix math formulas with non-numeric strings not returning result #VALUE! Add unit tests for this.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6570 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2018-08-05 13:35:25 +00:00
a8743226b7
fpspreadsheet: Add unit tests for HTML-to-RichText conversion (and vice versa).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6073 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2017-11-14 22:57:11 +00:00
51630a3d94
fpspreadsheet: Fix valid sheetname test case.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4677 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-06-03 21:43:46 +00:00
1504384e79
fpspreadsheet: Add reading of print ranges and repeated print cols/rows for xlsx. xlsx unit test for print ranges. Fix reading/writing of worksheets with spaces and special xml entities in the sheet name.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4503 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-02-15 21:12:17 +00:00
f76da1c6b0
fpspreadsheet: Fix test suite not removing a particular temporay file after test,
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4445 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-01-19 23:14:43 +00:00
180a1d049d
fpspreadsheet: Add parsing of cell range strings given in "R1C1" syntax
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4376 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-10-09 19:33:02 +00:00
ced66bed8b
fpspreadsheet: Implement parsing of cell references in "R1C1" syntax.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4375 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-10-09 17:30:24 +00:00
b68bbe08ef
fpspreadsheet: Add test case for reading biff 5/8 from stream
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4300 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-27 16:02:58 +00:00
4a45218c8f
fpspreadsheet: More robust float-to-fraction conversion of float. Add test cases for this conversion.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4144 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-19 10:55:18 +00:00
03b7dedde7
fpspreadsheet: Improved number format parser
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4082 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-04-18 14:58:38 +00:00
2bf5464fc6
fpspreadsheet: Move type declarations from fpspreadsheet.pas to new unit fpstypes.pas. Update all examples.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3887 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-17 22:57:23 +00:00
b70cc35da3
fpspreadsheet: Ignore case of sheetname in validation. Better calling convention for un-merging cell ranges.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3554 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-12 14:14:05 +00:00
324588fb04
fpspreadsheet: Validity check for sheet names (test case included)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3552 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-12 09:38:12 +00:00
c87afdcdec
fpspreadsheet: Redo handling for formulas:
...
- Allow processing of string formulas (conversion to/from rpn formulas, calculation).
- Drop cell ContentType cctRPNFormula.
- Drop field RPNFormulaValue of TCell record.
- Remove all fekXXXX declarations for sheet functions. Function is specified by name now.
- Complete registration mechanism for user-defined formulas.
Adapt all demos
Test cases working
This commit does not yet support: shared formulas, formulas in ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3506 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-30 18:03:22 +00:00
0029891176
fpspreadsheet: Fix ODS writer beginning to write rows/columns at first used row/column instead of 0. ODS error message test active now. Separate errortests and virtualmodetests from internaltests. All tests passed (Win32, Laz trunk, fpc 2.6.4).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3449 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-08 09:02:37 +00:00
ff059e3420
fpspreadsheet: Move log list from reader/writer to workbook for easier access. Add unit test for error logging (in internaltests). Improve OOXML writer to begin writing rows only from the first existing row, not from 0. (The ODS writer still does this, therefore, it creates a huge file for the error logging test - this test is currently deactivated for ods).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3446 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-07 22:24:22 +00:00
b9dc9a801f
fpspreadsheet: Fix option boBufStream writing defective ods and xlsx files.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3444 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-07 12:52:26 +00:00
c575126fa0
fpspreadsheet: Implement writing of ODS files in virtual mode. Adapt demo_virtualmode_write, speed test, and unit test (--> passed).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3443 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-07 08:43:11 +00:00
7f8e8fb312
fpspreadsheet: Rename virtual mode event handler OnNeedCellData to OnWriteCellData. Add another virtual mode event handler for reading, OnReadCellData.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3370 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 21:51:06 +00:00
064dd6aba2
fpspreadsheet: Extend TBufStream for reading. Rename workbook's WritingOptions to Options, and the option flags from woXXXX to boXXXX. Use boBufStream (former woBufStream) to activate TBufStream for reading of xls and ods. Speed up reading of biff2 by factor 3 (rel to commit before prev one). Fix pile-up of temporary files when saving ods.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3357 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-22 15:59:29 +00:00
08987b52c8
fpspreadsheet: Use TBufStream as general-purpose stream if woBufStream is set in Worksheet.WritingOptions. woBufStream replaces woSaveMemory. Results in a significant speed enhancement for biff2 (64000x100 cells -> 31 sec without, 1.7 sec with woBufStream).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3337 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 13:23:12 +00:00
42f55e22d7
fpspreadsheet: tests: get empty temp file just before wrtiing out. Coding style: do begin matches initial style+FPC coding style.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3336 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 13:13:56 +00:00
49aa26354e
fpspreadsheet: improve temp file handling in tests
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3333 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 09:20:47 +00:00
7f6277ca08
fpspreadsheet: Add unit fpsstreams containing a buffered stream for speed-up of writing in virtual mode.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3331 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-18 22:48:38 +00:00
ed197af6c1
fpspreadsheet: Add another set of unit tests for virtual mode, now with SaveMemory options.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3326 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-15 21:31:59 +00:00
7db78ca670
fpspreadsheet: Add first unit test cases for virtual mode (all biff, ooxml /writing only)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3323 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-15 15:49:58 +00:00
5718a5c120
fpspreadsheet: Some more extreme test cases for column name bug ( #26447 )
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3278 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-04 09:17:31 +00:00
fb2b3159ea
fpspreadsheet:
...
- test for bug 26447: fpspreadsheet columns >26 wrong with ooxml (patch) as fixed in r3273
- fix typo in documentation rfRow=>rfRelRow
- cosmetic changes
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3276 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-04 08:48:12 +00:00
a85adcb61a
fpspreadsheet: Reducing hints and warnings, still a lot...
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3203 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-19 19:25:40 +00:00
86a42c6c02
* Tests: cosmetic/slight tightening file exist test
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2870 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-27 13:55:56 +00:00
449252cbe6
* tests: test WriteToFile AOverwriteExisting, hopefully catches error reported in
...
http://forum.lazarus.freepascal.org/index.php/topic,23051.msg137012.html#msg137012
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2869 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-27 09:32:10 +00:00
a98a75327e
Tests:
...
+ added test for GetSheetByName function
+ Added TSpreadInternalTests.ReadDateAsUTF8 to test wp's ReadAsUTF8 forum problem report with date/time cells
* Fixed displaying sheet+column where problems occur (CellNotation function)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2859 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-10 12:06:12 +00:00
abd8d0bea8
+ Add date/time/datetime read/write support for BIFF8 xls format. No plans for earlier formats though the code could be adapted
...
+ XLS BIFF8: added DATE and TIME worksheet functions to RPN formula
* Allow writing formulas,numbers etc using cardinals increasing row/column limits for formats that support it.
* Add checks for text cell size limits when writing xls, xml. If exceeded, cell text will be truncated (better than corrupting the xls file - e.g. try to open it with Excel 2002 - as happens now with xls format)
* Formats that use fpspreadsheet zip have extra checks to prevent crashes for invalid zip dates
+ Use FPC built-in zip format when using FPC 2.7.1+ as it has fixes/improvements (e.g. zip64 support)
+ Added FPCUnit test suite to test reading and reading writing files. For now uses BIFF8 xls; contributions for other formats and more tests welcome. See the tests subdirectory.
+ Add link to msodumper tool for reference/debugging/troubleshooting .xls output
Fixes Mantis bugtracker issue #25388
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2857 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-07 13:42:22 +00:00