Commit Graph

168 Commits

Author SHA1 Message Date
wp_xxyyzz
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
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
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
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
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
wp_xxyyzz
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
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
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
wp_xxyyzz
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
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
4c723b9fc3 fpspreadsheet: Convert some more biff methods such records are written in a single block (biff2: WriteLabel, WriteNumber, all: WriteFormat, WriteBlank, WriteColInfo).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3325 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-15 21:00:49 +00:00
wp_xxyyzz
8d6ec7316c fpspreadsheet: Remove string-based writing code of ods files --> significant speed improvement particularly for large grids (20000x100 cells 120 sec (old) --> 7 sec (new)).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3311 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-12 21:51:44 +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
db24ac3a9b fpspreadsheet: Fix "rows-repeated" error in ods introduced in prev commit
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3303 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-09 21:53:41 +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
9fb1a96f20 fpspreadsheet: Fix bug #026451 ("Wrong {$IFDEF} in xlsxooxml.pas and fpsopendocument.pas")
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3284 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-05 18:11:41 +00:00
bigchimp
92ed17a049 * fpspreadsheet: documentation fixes
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3235 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-24 16:10:01 +00:00
wp_xxyyzz
d75755c1ff fpspreadsheet: Read frozen panes from ods files. Add test case for writing/reading of ods panes, passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3210 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-21 16:09:08 +00:00
wp_xxyyzz
e3ece8a30b fpspreadsheet: Write frozen panes to ods files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3209 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-21 12:19:19 +00:00
wp_xxyyzz
9b59ab3006 fpspreadsheet: Show/hide sheet grid lines and col/row headers for ods reading and writing. Incl test case (passed)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3207 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-20 19:07:35 +00:00
wp_xxyyzz
d0927d2d03 fpspreadsheet: Further reduction of hints and warnings
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3206 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-20 15:58:22 +00:00
wp_xxyyzz
6905fc5069 fpspreadsheet: Split off currency from main ods number format building procedure.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3204 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-19 19:43:30 +00:00
wp_xxyyzz
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
wp_xxyyzz
888f605851 fpspreadsheet: Fix some date/time format display issues for ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3202 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-19 17:56:29 +00:00
wp_xxyyzz
9faf94ee3a fpspreadsheet: Add writing of date/time formats to ods files and fix writing of time values
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3199 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-18 21:54:29 +00:00
wp_xxyyzz
cf4ce9f2fa fpspreadsheet: Fix regression in detection of decimal places for ods introduced by inconsistency of xml names in OpenDocument specification.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3191 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-18 07:44:02 +00:00
wp_xxyyzz
0875ce96e8 fpspreadsheet: Reading/writing of negative currencies in red now working for ods
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3189 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-17 21:56:49 +00:00
wp_xxyyzz
631881ca39 fpspreadsheet: Fix incorrect characters in label cells read from of ods files. Partial fix of negative values forgetting the red color in case of built-in format nfCurrencyRed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3188 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-17 11:57:03 +00:00
wp_xxyyzz
1e5fa19f94 fpspreadsheet: add support for writing currency formats to ods files. Fix "red" option for negative numbers.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3186 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-17 09:06:34 +00:00
wp_xxyyzz
9b60ec63be fpspreadsheet: Fix writing of percentage number formats to ods files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3183 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-16 19:30:43 +00:00
wp_xxyyzz
4f9993b4b0 fpspreadsheet: Add workaround for number format nfSci which is not supported by Open/LibreOffice
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3178 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-16 16:32:39 +00:00
wp_xxyyzz
03ccd5323a fpspreadsheet: Infrastructure for writing of number formats to ods files. Fixed and exponential formats ok, percentage not working. Others not yet implemented.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3174 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-16 14:38:17 +00:00
wp_xxyyzz
144f4dd25b fpspreadsheet: Beginning to extend to number format parser for xml strings (for ods). Not finished, yet.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3170 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-15 22:27:46 +00:00
wp_xxyyzz
f4f860abc2 fpspreadsheet: Cleaning up
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3167 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-13 20:32:58 +00:00
wp_xxyyzz
9f69ce203a fpspreadsheet: Fix ods number format issues introduced with new number format parser. No regressions in test suite any more.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3166 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-13 20:11:41 +00:00
wp_xxyyzz
a4ee00f870 fpspreadsheet: Major reconstruction of numberformat parser to facilitate creation of xml formats for ods. Some minor regressions in unit tests and fpsgrid demo to be fixed. Removed elements "Decimals" and "CurrencySymbol" from TCell (this information is taken from the format string now). Removed the built-in format nfFmtDateTime (makes life easier, use nfCustom instead).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3156 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-12 22:20:45 +00:00
wp_xxyyzz
12c4a4a2a2 fpspreadsheet: Read ods formula and display it in TsWorksheetGrid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3152 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-06 15:48:02 +00:00
wp_xxyyzz
712e0f9f27 fpspreadsheet: Add font writing support to ods. Add font ods test cases. Passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3151 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-06 13:09:14 +00:00
wp_xxyyzz
ebf3fce852 fpspreadsheet: Write font attributes to ods file (except for font name).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3148 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-06 11:16:23 +00:00
wp_xxyyzz
d7ee2a84d8 fpspreadsheet: Fix crash of unit test application in case of missing length unit in HTMLLengthStrToPts. Rearrange code for ods font reading.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3147 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-06 09:17:52 +00:00
wp_xxyyzz
036383d658 fpspreadsheet: Add support for reading fonts from ods files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3146 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-06 08:48:22 +00:00
wp_xxyyzz
c335deb56c fpspreadsheet: Add currency test cases to numbertests. 1 fail for biff to be fixed, ods ok. Remove experimental code from opendocread.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3142 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-05 09:14:13 +00:00
wp_xxyyzz
292908eac3 fpspreadsheet: Add basic currency format support to ods reading. Replace xmlread and DOM in the uses clause of fpsopendocument.pas laz2_xmlread and laz2_DOM to correctly catch the currency symbols.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3141 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-05 08:29:32 +00:00
wp_xxyyzz
bac68e48c5 fpspreadsheet: Combine percentage format detection with other number formats (for ods)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3140 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-05 07:58:18 +00:00
wp_xxyyzz
0aeefd619f fpspreadsheet: Fix remaining issue of ods-1904 datetests. All tests green finally again.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3139 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-05 07:39:16 +00:00
wp_xxyyzz
5542b1ac56 fpspreadsheet: Activate all disabled ods date tests & fix some more issues related to inconsistent formats by Open/LibreOffice -> done to 6 errors for 1904 datemode, that's probably the best we can get.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3138 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-04 22:11:17 +00:00
wp_xxyyzz
02190bc58c fpspreadsheet: Fix reading time interval format for ods
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3134 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-04 10:33:36 +00:00
wp_xxyyzz
73dc71627b fpspreadsheet: Add code for detection of date/time cells which are incorrectly written as float by Open/LibreOffice. Implement conditional number formats for all number types (sometimes falsely assigned). Reactivate ignored date test cases for ods-1899, pass. 1904 date mode still faulty, not clear if this will ever pass the test.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3133 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-03 22:04:11 +00:00
wp_xxyyzz
56a39e6da2 fpspreadsheet: Apply cell style and number format for ods date/time cells. Still some issues in unit test.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3130 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-02 22:07:40 +00:00
wp_xxyyzz
09d9d95789 fpspreadsheet: Fix incorrect detection of number format with thousand separator in ods
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3128 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-02 19:33:02 +00:00
wp_xxyyzz
976e037770 fpspreadsheet: Improved detection of space separators in date/time formats. Generally valid, no modification of xmlread required. Side-effect: leading spaces of xml elements have to be skipped manually
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3122 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-01 18:59:29 +00:00
wp_xxyyzz
27967f5e66 fpspreadsheet: Fix workaround in previous commit which did not work.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3121 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-01 13:44:02 +00:00
wp_xxyyzz
6f96f3bcb6 fpspreadsheet: Add workaround for missing xml spaces to TsOpenDocReader.ReadNumFormats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3120 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-01 13:08:14 +00:00
wp_xxyyzz
33a8fdcb43 fpspreadsheet: Row height and column width reading/writing code for ods files complete. Test cases ok, but extremely slow speed of test application for numbertest and datetimetests. Changed units of row heights in worksheet: used to be points, is "lines" now (more consistent user interface - column width is in "standard characters", I prefer these units over centimeters because row heights/column widths become independent of screen pixels per inch this way)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3118 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-31 21:04:53 +00:00
wp_xxyyzz
4dd961b590 fpspreadsheet: Writing and reading of horizontal and vertical text alignments in ods files. Add test cases. Pass.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3116 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-28 20:52:36 +00:00
wp_xxyyzz
d6907ceb0b fpspreadsheet: Writing of ods styles: Put xml code of the formatting fields into separate functions
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3115 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-28 19:26:08 +00:00
wp_xxyyzz
3ff4a1ab78 fpspreadsheet: Split subroutines off of main ods reading method to get shorter procedures.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3114 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-28 18:58:55 +00:00
wp_xxyyzz
e8f2524a91 fpspreadsheet: Reading of horizontal/vertical text alignment from ods files. Have to implement column styles to all formats correctly.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3113 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-28 16:23:50 +00:00
wp_xxyyzz
44072f2629 fpspreadsheet: Reading and writing of text rotation in ods files. Add test case. Passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3110 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-28 07:53:50 +00:00
wp_xxyyzz
99f6a6f1d1 fpspreadsheet: Add unit tests for writing/reading of borders, borderstyle and wordwrap for ods files. Passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3109 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-27 22:12:48 +00:00
wp_xxyyzz
4aa640489f fpspreadsheet: Add unit test for writing/reading of background color in ods. Passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3108 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-27 16:21:59 +00:00
wp_xxyyzz
11e09b888c fpspreadsheet: Read the background color of ods files. Background color of ods files is displayed in fpsGrid. Fix border partially not showing.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3107 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-27 13:58:57 +00:00
wp_xxyyzz
632b9d6200 fpspreadsheet: Add ods reading support for cell borders, border line styles and border colors. Borders of ods files are displayed in fpsgrid correctly.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3106 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-27 13:09:23 +00:00
wp_xxyyzz
97ded8dfab fpspreadsheet: Beginning to apply .ods formatting styles to cells
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3103 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-26 22:27:07 +00:00
wp_xxyyzz
85e2de8340 fpspreadsheet: Read date/time number formats from ods (not applied, yet)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3102 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-26 19:43:05 +00:00
wp_xxyyzz
d29219fc68 fpspreadsheet: Mark TsSpreadsheet.GetLastColNumber/GetLastRowNumber as deprecated, use GetLastColIndex/GetlastRowIndex instead.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3101 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-26 15:27:35 +00:00
wp_xxyyzz
f1a1a4474a fpspreadsheet: Fix issue http://mantis.freepascal.org/view.php?id=26221 (empty cells misplace following cells in .ods)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3100 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-26 15:00:43 +00:00
wp_xxyyzz
070845d3ae fpspreadsheet: Add property "Name" to TsNumFormatData. When reading ods files consider also styles in "styles.xml".
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3099 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-26 08:03:36 +00:00
wp_xxyyzz
a4bc6fc8cf fpspreadsheet: Beginning to read number formatting styles from ods file (so far, just populating the number format list)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3098 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-25 22:05:37 +00:00
wp_xxyyzz
00ed56d1ef fpspreadsheet: Integrate number format parser into fpspreadsheet. Some regressions in format detection...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3068 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-20 16:13:48 +00:00
bigchimp
db28686b2f Cosmetic
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3065 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-20 12:36:07 +00:00
wp_xxyyzz
283a28fabd fpspreadsheet: Fix crash of unit test. Still some number format detection issues.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3046 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-14 23:17:46 +00:00
wp_xxyyzz
887b34383a fpspreadsheet: Add font unit test for BIFF2. Currently fails. Need to investigate...
Fix occasional floating point conversion error in fpsopendocument because of non-initialized format settings.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2963 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-24 22:31:01 +00:00
wp_xxyyzz
f69a47c902 fpspreadsheet: Add/complete color support for biff2 and biff8, reading and writing. Display colors in fpspreadsheetgrid.
Remove parameter AData in several methods of the readers/writers and replace it by FWorkbook passed at creation.
Add unit tests for font and color support. No issues.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2960 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-23 22:29:32 +00:00
wp_xxyyzz
f7f1b0f12a fpspreadsheet: Add support for empty cells to all BIFF formats (needed for formatting of empty cells).
Fix painting error of cell borders in fpspreadsheetgrid.
Add/complete reading/writing support for horizontal alignment, cell background and cell borders to BIFF2.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2958 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-21 21:43:43 +00:00
wp_xxyyzz
4f85834153 fpspreadsheet: Restructure reader/writer declarations to have in "public" only methods needed by the application
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2957 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-21 11:30:22 +00:00
bigchimp
435cc15729 * Replace XLSDEBUG define for writeln debug output to FPSPREADDEBUG as it is used beyond just xls support.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2932 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-04-08 09:53:02 +00:00
bigchimp
f95e48563a * OpenDocument .ods: tweaked support for reading time only fields introduced in r2908: fixes for 1899/1900/1904 date mode. Still needs more tweaks for 1904 date mode (and presumably 1900 as well)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2924 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-26 10:26:43 +00:00
bigchimp
cc13dd5c5f OpenDocument .ods:
* ignore invalid times



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2915 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-24 07:34:00 +00:00
bigchimp
12a4c4c07b * LibreOffice/ODS format: fix time-only calculations exceeding EncodeDate limits
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2909 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-23 13:06:19 +00:00
bigchimp
b70f1be9c3 + OpenDocument .ods: initial support for reading time only fields. To do: needs additional support for 1900/1904 date mode.
+ OpenDocument: naive speed improvement for reading repeated rows/columns.



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2908 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-03-23 11:36:36 +00:00
bigchimp
400bf62aba * OpenDocument/OpenOffice/LibreOffice date/time read fix; code adapted from curtisnewton, thanks a lot! Fixes mantis issue #25585
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2890 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-01-24 10:32:23 +00:00
bigchimp
018f05324b + Initial write date/time cell support for opendocument/OpenOffice/Libreoffice
To do: adjust test suite for .ods files



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2867 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-23 13:35:36 +00:00
bigchimp
6a4ff4c1c2 * Correction to r2863: use ISO 8601 format for WriteDateTime text output (currently every format except BIFF8 xls).
Ensures resulting files are interoperable regardless of OS locale settings, conforming to date/time cell support in BIFF8.



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2865 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-23 12:11:20 +00:00
bigchimp
7f7d07f151 + Add support for text/number/date formats in BIFF8/xls.
+ Add support for writing out date/time to non-BIFF8 xls (though as text only for now)
  Slightly modified patch by wp, thanks a lot. 
  See
  http://forum.lazarus.freepascal.org/index.php/topic,22940.msg136761.html#msg136761

Still to do: add test cases for invalid format strings



git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2863 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-12-22 14:02:04 +00:00
bigchimp
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
sekelsenmat
238e173677 fpspreadsheet: Adds support for RGB colours
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2750 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-06-12 11:02:02 +00:00
sekelsenmat
af3ee31a25 fpspreadsheet: Adds support to writing the formatting of formula and number cells in XLS
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2671 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-02-12 11:29:19 +00:00
sekelsenmat
ca0980e0ed fpspreadsheet: Patch from bug 21400, adds date reading support to the ods reader
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2599 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2012-12-11 16:46:25 +00:00
sekelsenmat
6962323c2e fpspreadsheet: OpenDocument: Adds support for word-wrap formatting option and fixes the styles setting for numeric cells
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2463 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2012-06-13 07:21:00 +00:00
sekelsenmat
0ee4ede6b0 fpspreadsheet: Fixes using always point for numbers in OOXML and adds a solution to initialize the format settings in the constructor of the writer
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2410 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2012-04-27 08:01:15 +00:00
sekelsenmat
54e28dd0db Implements the possibility to save a TZipper to a TStream and uses that
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1862 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-08-29 11:59:47 +00:00
sekelsenmat
e23fbc9f1d FPSpreadsheet: Improves the comments
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1658 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-30 07:03:56 +00:00
sekelsenmat
a267e89ae8 FPSpreadsheet: Patch from bug 19422: Copy file OSD with
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1657 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-29 17:42:56 +00:00
sekelsenmat
fdc4538c45 Implements flexible style writting for OpenDocument. Implements support for bold, border and background color
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1653 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-05-27 13:45:30 +00:00
sekelsenmat
979180ddd9 Adds bold style support to OpenDocument
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1400 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-12-08 10:24:15 +00:00
sekelsenmat
1389a835d1 Adds excel 8 writting example and starts implementing formatting
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1264 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-07-30 06:44:53 +00:00