wp_xxyyzz
5bc25c482e
fpspreadsheet: Clean up. Silence some hints.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3473 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-12 14:52:57 +00:00
wp_xxyyzz
f35eae9379
fpspreadsheet: Fix OOXML writer using incorrect color if palette index is >63. Activate color count error test for ooxml and ods.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3472 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-12 09:05:19 +00:00
wp_xxyyzz
495499a9e2
fpspreadsheet: Make sure that Excel's system colors are kept when colors are added to a palette. Fix BIFF 2 font color mismatch in unit test. All green again.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3471 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-11 22:39:47 +00:00
wp_xxyyzz
eaabdf67c1
fpspreadsheet: Make sure that biff writers do not write colors exceeding the maximum palette count. Add casse to error tests (passed, but the biff2 font color test fails now...)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3470 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-11 15:53:06 +00:00
wp_xxyyzz
ad1ae69544
fpspreadsheet: Log warning if BIFF writer tries to write more than 64 colors. More clean-up.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3468 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-11 11:16:43 +00:00
wp_xxyyzz
c75695c301
fpspreadsheet: Convert forgotten WriteXXXX(Row,Col...) procedures to functions returning the cell used.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3463 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-10 09:22:42 +00:00
wp_xxyyzz
ced21b2d9c
fpspreadsheet: Fix memory leak in cell memory allocation (visibile in OOXML and ODS).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3462 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-09 14:17:49 +00:00
wp_xxyyzz
83db4e3fc4
fpspreadsheet: Add proper ifdefs around "uses clocale" in fpspreadsheet.pas
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3458 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-08 21:18:16 +00:00
wp_xxyyzz
a0a19eb380
fpspreadsheet: Write OOXML string formulas. Write biff2 dimension record.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3456 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-08 19:00:27 +00:00
wp_xxyyzz
8f666bec13
fpspreadsheet: Fix written oversized worksheets being defective, adapt BIFF writer's WriteDimensions method to be compatible with oversized worksheets.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3455 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-08 14:30:19 +00:00
wp_xxyyzz
2de7d41fef
fpspreadsheet: Clear error log before starting reader/writer
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3450 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-08 12:18:17 +00:00
wp_xxyyzz
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
wp_xxyyzz
68718a9192
fpspreadsheet: Split off common properties and methods from the custom reader/writer classes into a common TsCustomReaderWriter class. Add a logging mechanism for error messages to this common ancestor.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3445 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-07 19:41:13 +00:00
wp_xxyyzz
7e599ebd07
fpspreadsheet: Fix arithmetic overflow in ooxml writer in case of empty worksheet but existing row records. Use try-finally blocks around test cases to make sure that memory is released and temp file is deleted in case of exceptions due to failed tests. Fix memory leak in rpn formula calculation (spreadtestgui, however, still reports a lot of memory leaks).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3431 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-05 21:42:34 +00:00
wp_xxyyzz
052b6a9224
fpspreadsheet: Rewrite all WriteXXXX methods of TsWorksheet depending on row and column indexes as functions to return the pointer to the cell created/modifed.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3426 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-05 10:59:24 +00:00
wp_xxyyzz
ccc593a525
fpspreadsheet: Add a new example project showing database export in virtual mode.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3423 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-04 19:46:50 +00:00
wp_xxyyzz
d0be6284cf
fpspreadsheet: OOXML reading/writing support for frozen panes. Simplify OOXML's cell writing strategy by omitting empty cells.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3422 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-04 19:11:17 +00:00
wp_xxyyzz
de5e05ec86
fpspreadsheet: Clean-up of demos (sometimes the default built mode was lost). Add some more overloaded methods to TsWorksheet having the cell as an argument instead of row/col index.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3411 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-02 22:31:19 +00:00
wp_xxyyzz
e96b16b993
fpspreadsheet: Add support for diagonal border lines. Implemented for BIFF8 and ods (BIFF2 and 5 do not support diagonal borders, OOXML reader currently does not have border support). Test cases adapted. "spready" adapted to show diagonal borders.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3400 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-30 22:51:59 +00:00
wp_xxyyzz
9206a6e753
fpspreadsheet: OOXML reader supports background color now. Test cases passed.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3397 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-29 22:09:29 +00:00
wp_xxyyzz
8c687533cf
fpspreadsheet: Support reading of font from xlsx files. Add unit tests, 3 fails related to font color.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3387 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-27 22:44:17 +00:00
wp_xxyyzz
e7f10f498f
fpspreadsheet: Add methods InsertRow and InsertCol to TsWorksheet and TsWorksheetGrid. Update demo "spready".
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3381 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-26 17:05:21 +00:00
wp_xxyyzz
9f7237554d
fpspreadsheet: Extend ooxml reader to read formulas and their result.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3380 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-25 21:05:35 +00:00
wp_xxyyzz
5a65855a48
fpspreadsheet: Implement virtual reading mode for biff8 and biff5 (activated by workbook option boVirtualMode when reading). Add demo_virtualmode_read. Update speed test (factor 2 faster than standard mode, main advantage: no significant memory usage)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3372 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-24 11:51:34 +00:00
bigchimp
6606f62e79
fpspreadsheet: grid fix if FWorksheet not assigned from Aleksey Lagunov, issue #26521 , thank you.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3371 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-24 08:26:03 +00:00
wp_xxyyzz
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
wp_xxyyzz
fce1ea9409
fpspreadsheet: In fpolebasic manually delete an existing file before writing; this seems to fix a crash with Linux.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3367 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 21:09:47 +00:00
wp_xxyyzz
ed409c445a
Fix using correct locale settings in Ubuntu.
...
Workaround for crash of test suite in Ubuntu due to not deleting existing xls file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3365 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 16:00:01 +00:00
wp_xxyyzz
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
wp_xxyyzz
a7c7810ac5
fpspreadsheet: Fix crash of rpn formulas introduced by last commit
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3353 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-20 18:28:40 +00:00
wp_xxyyzz
7a3a9060e9
fpspreadsheet: Fix memory leak in virtual mode due to incorrectly initialized strings in the cell record.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3352 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-20 18:19:43 +00:00
wp_xxyyzz
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
wp_xxyyzz
3f292f5e99
fpspreadsheet: Writing of number formats for xlsx (date/time not working yet)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3318 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-14 20:47:53 +00:00
wp_xxyyzz
9607fc8e88
fpspreadsheet: Extend the event OnNeedCellData by a template cell which can be used for formatting when saving a file in virtual mode.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3317 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-14 15:04:04 +00:00
wp_xxyyzz
f596a181b3
fpspreadsheet: Support for writing cell border (on/off, linestyle, color) and background color to xlsx files.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3315 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-13 22:09:27 +00:00
wp_xxyyzz
231b127041
fpspreadsheet: Implement virtual mode for all biff file formats. Add record limitations with writer-specific max row and col counts: a file is not written to a particular file format if it exceeds the limitations of the file format.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3307 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-11 13:20:14 +00:00
wp_xxyyzz
e2391c142b
fpsreadsheet: Introduce "virtual writing mode" where the writer does not get its data from the spreadsheet, but from an event ("OnNeedCellData"). Introduce stream switching for xlsxooxml. Both feature allow to write HUGE spreadsheet files. Add example "test_virtualmode".
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3306 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-10 20:43:46 +00:00
wp_xxyyzz
63283c100a
fpspreadsheet: Caching the result of the worksheet's GetLastColIndex and GetLastRowIndex for better writing performance of large ods files (which query these data in the row loop). Has no significant effect, though.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3302 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-09 14:56:09 +00:00
wp_xxyyzz
3020ad9261
fpspreadsheet: Fix reverse order of rpn tokens when reading an xls file. Fix string formula reconstruction routine. Unit test passed again.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3298 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-08 18:58:22 +00:00
wp_xxyyzz
428bf6bd93
fpspreadsheet: Add option to construct rpn token array in reverse order for correct reading of rpn formulas in xls files (current reading code is not correct)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3297 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-08 15:28:11 +00:00
wp_xxyyzz
7e22f0e6ad
fpspreadsheet: Complete rpn calculations (COUNTA). Remaining missing function probably will not be implemented because calculation is beyond units (math, strutils, dateutils; if needed they can still be implemented at application level by registering the corresponding function).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3296 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-07 21:29:00 +00:00
wp_xxyyzz
4967d9a233
fpspreadsheet: Calculate the formula SUMIF.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3281 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-04 20:41:07 +00:00
wp_xxyyzz
336a1cf581
fpspreadsheet: Implement calculation of COUNTIF, several test cases passed.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3279 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-04 14:38:20 +00:00
wp_xxyyzz
0b6819fe83
fpspreadsheet: Some more rpn functions calculated (info, lookup/reference category)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3277 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-04 09:03:49 +00:00
bigchimp
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
wp_xxyyzz
78af234614
fpspreadsheet: Implement calculation of COUNTBLANK formula. Some formatting cosmetics.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3275 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-03 21:04:58 +00:00
wp_xxyyzz
20645fb0c4
fpspreadsheet: Fix calculation of cells destroying number formats.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3274 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-03 19:28:42 +00:00
wp_xxyyzz
81ff33e7d6
fpspreadsheet: Fix incorrect column names left in ooxml format (issue #0026447 )
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3273 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-03 16:12:43 +00:00
wp_xxyyzz
359ddca7b8
fpspreadsheet: Support cell ranges in calculation of rpn formulas. Tune fpfunc unit. Update test cases.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3272 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-03 15:38:15 +00:00
wp_xxyyzz
4741c857a8
fpspreadsheet: Introduce recursive calculation of cells depending on non-yet calculated cells. Add demo "test_recursive" in folder "other".
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3271 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-03 08:52:12 +00:00