Commit Graph

1207 Commits

Author SHA1 Message Date
a7c1405be0 fpspreadsheet: Support for column widths and row heights of xlsx reader. Extend unit tests --> passed. Add "debug with heaptrc" build mode to spreadtestgui (--> there is an unfixed memory leak in fpsfunc).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3418 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-03 21:21:31 +00:00
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
b824d4854b fpspreadsheet: Implement text alignment, text rotation and word wrap for xlsx reader. Extend these unit tests for xlsx - passed. Some improvements in formattests (better readability of enum data, trying to guarantee deletion of temp file in case of a mismatch).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3407 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-02 19:21:23 +00:00
ead4186b6e fpspreadsheet: OOXML reading support for cell borders and diagonals. Unit tests adapted. Passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3403 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-31 21:05:01 +00:00
3064b8a13f fpspreadsheet: OOXML writes diagonal border lines.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3402 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-31 19:34:54 +00:00
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
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
f989031cf9 fpspreadsheet: Fix font color issues of xlsx reader. No fails in unit test any more.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3396 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-29 21:02:14 +00:00
2544034f55 fpspreadsheet: Undo changes in package.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3388 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-27 22:47:13 +00:00
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
3ef1b5b331 fpspreadsheet: Fix ods writing incorrect nfTimeInterval format.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3386 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-27 17:31:02 +00:00
c3d3cac3bc fpspreadsheet: Fix incorrect writing of number and date/time values in ooxlm. Only 1 fail in unit test left (related to ods).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3385 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-27 10:17:14 +00:00
565df8a3e3 fpspreadsheet: Add test cases for xlsx number and date/time formats. Two fails.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3384 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-26 21:52:59 +00:00
77d6fd704d fpspreadsheet: Consider 1900/1904 date mode for reading/writing of xlsx files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3383 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-26 21:18:49 +00:00
adb1e5c13e fpspreadsheet: Support reading of number formats in xlsx files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3382 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-26 19:43:02 +00:00
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
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
11772b0156 fpspreadsheet: Fix ooxml reader crashing for files having no shared strings table.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3379 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-25 16:46:39 +00:00
005434006f fpspreadsheet: Split shared code for ooxml and ods readers off into new unit fpsxmlcommon.pas
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3378 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-25 16:31:34 +00:00
8d4572c39d fpspreadsheet: Initial implementation of an OOXML reader (some files still crashing). Add ooxmlread demo to examples folder. Fix spready demo's incorrect *.xlsx file filter.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3374 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-24 22:22:26 +00:00
340efa7c8f fpspreadsheet: Implement virtual reading mode for biff2 and ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3373 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-24 15:56:03 +00:00
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
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
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
37143dad97 fpspreadsheet: Rename folder fpsSpeedTest to fpsspeedtest
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3369 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 21:34:37 +00:00
ee1fafb7ef fpspreadsheet: Implement SaveToStream for ODS writer (code from SaveToFile)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3368 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 21:30:01 +00:00
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
6959ebb070 fpspreadsheet: Rename test_* projects in folder examples/other to demo_*. Remove dependence on laz_fpspreadsheet package for easier testing, use unit directory for compiled files. Add readme.txt for this folder.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3366 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 20:52:35 +00:00
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
40e2a85bd1 fpspreadsheet: clean up examples: progress messages; remove win32 gui for console applications etc
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3362 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 10:47:38 +00:00
243d3b0c7d fpspreadsheet: try to fix date/time handling on Linux/Unix by adding clocale. Needs to be tested.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3361 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 08:15:28 +00:00
667e36f420 fpspreadsheet: harmonize debug & release modes for examples; e.g. don't generate debug info and then issue strip option
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3360 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-23 07:01:57 +00:00
22100c2f16 fpspreadsheet: Possibly fix unit dependence issue forcing to clean rebuilds. Modify project options of fpsgrid and spready to separate compilation platforms.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3358 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-22 22:49:30 +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
ba37ace85f fpspreadsheet: Read entire biff record of label and number cells to speed up reading (30% improvement for biff2). Numerous clean-up, mostly debugger settings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3355 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-21 20:33:25 +00:00
7fe3c4402a fpspreadsheet: Add tool for measuring writing and reading speeds for various file sizes and options. Based on a tool by rvk (http://forum.lazarus.freepascal.org/index.php/topic,25142.msg152919.html#msg152919).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3354 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-21 18:00:29 +00:00
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
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
ecaa1d67cb fpspreadsheet: Fix memory leak in fpopendocument (forgot to call inherited destructor of TsSpreadOpenDocWriter).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3351 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-20 16:25:25 +00:00
03b690d834 fpspreadsheet: Fix floating point formula tests cases to give matching results even without tolerance value. Fix BIFFExplorer to show all digits of floating point cell values.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3343 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 23:14:53 +00:00
25c9c65dcc fpspreadsheet: FPC trunk on Linux x64 also needs error margins (so FPC 2.6.x on Linux x64 is the only one tested that does not need it).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3341 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 15:34:08 +00:00
dae9095083 fpspreadsheet: error margin seems to be needed on Windows (FPC 2.6.4+FPC trunk), not on *nix (FPC 2.6.4) in contrast to previous commit.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3340 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 15:24:24 +00:00
b6a01e6814 fpspreadsheet: loose precision tests for FPC trunk floating point values
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3338 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 13:33:04 +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
18ae11e3e8 fpspreadsheet: Relax error margin for date/time tests to 10 nsec in order to get success in tests back.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3335 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 10:45:17 +00:00
752b1c95e7 fpspreadsheet: allow margin for error testing writing reading date/time. Test failures from 29 to 6
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3334 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-19 09:53:48 +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