Commit Graph

138 Commits

Author SHA1 Message Date
48c33e0c1c fpspreadsheet: Massive reconstruction of file format registration: it is now possible to add user-defined readers and writers without modifying the fpsspreadsheet sources (--> new unit fpsregfileformats). Add (incomplete) unit for the SYLK file format (---> new unit fpssylk) to show this in the demo project visual/fpsctrls/demo_ctrls. Update all visual demos.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4373 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-10-09 13:27:04 +00:00
cb68f38703 fpspreadsheet: Fix failed unit tests, all passed now again.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4370 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-10-04 20:11:10 +00:00
32343a87a3 fpspreadsheet: Add support for frozen panes to ExcelXML writer.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4351 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-21 21:54:49 +00:00
f2f4ce227a fpspreadsheet: Fix formulas in ExcelXMLWriter. Fix excelxmlwrite demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4346 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-20 21:01:57 +00:00
0dc5a6e45e fpspreadsheet: Add writer for ExcelXML files (Office XP and 2003, will be needed for clipboard operations); formulas and rich-text not functional, yet.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4338 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-19 22:55:18 +00:00
bf2d6f4417 fpspreadsheet: Readers/writers now use memory streams by default. Add workbook option boFileStream to enforce usage of file streams. Improve fpsSpeadtest, add csv speed test.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4327 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-11 17:19:26 +00:00
3026d99354 fpspreadsheet: Remove reduncant code when comparing fonts
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4311 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-02 15:43:00 +00:00
2b99bad89d fpspreadsheet: Write unzipped xml files of xlsx and ods to a unique temp directory.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4310 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-02 09:36:35 +00:00
55c0c6c4c4 fpspreadsheet: Add simple converter from plain text+rich formatting to html-coded text.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4270 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-13 21:38:02 +00:00
62355e2d51 fpspreadsheet: Re-do rich-text format (easier, less code). Fix rich-text issues with utf8 characters.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4257 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-08 16:23:49 +00:00
8ad3ef69c7 fpspreadsheet: Initial implementation of html font reader (so far, uses only "style" attribute of "td" node)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4254 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-05 18:51:32 +00:00
525c51cd9e fpspreadsheet: HTMLReader detects background color (from "bgcolor" or "style:background-color" tags of "td" node).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4252 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-05 10:29:02 +00:00
68d15c38a9 fpspreadsheet: Reading/writing of error values for xlsx and ods (initial implementation was incomplete).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4248 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-04 17:01:40 +00:00
954be7d438 fpspreadsheet: Fix writing rich-text to xlsx (Error when Excel opens this file). Fix writing multiline cell texts containing a CR as line ending which is not accepted by xls.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4226 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-07-30 16:28:30 +00:00
9bf5e60e90 fpspreadsheet: Initial commit of html writer.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4218 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-07-28 22:13:48 +00:00
d8e49350eb fpspreadsheet: Change package version to 1.7. Clean up compilation warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4198 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-28 17:59:09 +00:00
e121751361 fpspreadsheet: Reactivate the expression parser test cases which were commented (and forgotten) some time ago. Activate missing argument tests. Add some "exotic" formulas. All passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4186 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-08 17:03:55 +00:00
272db02859 fpspreadsheet: Change package version numbers to 1.6 for next release. Update chm help file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4175 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-03 11:07:39 +00:00
6eacf13d99 fpspreadsheet: Move all numberformat-related procedures/functions to unit fpsnumformat.pas. Check all demos.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4170 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-31 20:28:25 +00:00
750a0c68f5 fpspreadsheet: Move some general procedures from fpspreadsheet.pas to fpsutils.pas
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4168 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-31 16:34:40 +00:00
e2ddc7c705 fpspreadsheet: Extend number format parser to accept the keyword "General" in custom formats
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4161 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-29 21:35:07 +00:00
7a1caea387 fpspreadsheet: Prev commit was not good, now ok. Also: Fix fraction formats with explicit denominator (such as "#/32").
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4159 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-29 17:30:43 +00:00
f014686438 fpspreadsheet: Fix missing space between integer and numerator of formatted mixed fraction if integer format contains a thousand separator.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4158 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-29 16:16:37 +00:00
cb6433ad15 fpspreadsheet: Add demo how to write all Excel8 colors.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4157 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-28 21:54:05 +00:00
545bd7ed0f fpspreadsheet: Major reconstructor of color management: no more palettes now, use direct rgb colors instead. May break existing code - sorry! Update all demos and unit tests (passed).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4156 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-28 20:08:24 +00:00
8adf987bf9 fpspreadsheet: Better detection of fraction format by numberformat action. Some clean-up.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4145 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-19 16:18:01 +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
e60cc7d4c7 fpspreadsheet: Fix precision needed for converting numbers to fractions
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4138 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-17 17:46:02 +00:00
2d35913169 fpspreadsheet: Add support for number formats splitting off thousands, (Excel syntax "0.0,"), millions ("0.0,,"), etc.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4130 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-15 17:33:24 +00:00
400ffe6431 fpspreadsheet: Fix writing of header/footer fonts to ods files. Some cleanup.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4127 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-12 20:51:18 +00:00
c42a8fdedb fpspreadsheet: Fix line breaks in header/footer lines for xls and xlsx.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4123 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-10 22:04:09 +00:00
e66caefbe0 fpspreadsheet: Add headers and footers to the pagelayout record, implemented for all Excel formats (reading & writing).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4104 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-01 15:14:25 +00:00
82117326a4 fpspreadsheet: Add some more page layout properties (page size, orientation etc) for all Excel and ods formats (ods implementation, however, not correct at the moment).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4103 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-04-30 21:55:55 +00:00
4f520e0bf2 fpspreadsheet: Add PageLayout record to Worksheet; implement reading and writing of page margins for xlsx.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4102 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-04-29 20:00:07 +00:00
3a2b5f2aad fpspreadsheet: Add support for fraction formats having a fixed denominator ("# ?/4" for quarters, etc.)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4101 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-04-29 16:23:07 +00:00
f5c1eb21cb fpspreadsheet: Add dialog for number format selection to examples folder. Fix grid forgetting current number format after editing cell content.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4095 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-04-26 16:24:19 +00:00
c2dd60bb18 fpspreadsheet: Improved conversion of numbers to formatted strings, handles more special cases (e.g. integer-only fractions, optional digits, optional space digits).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4094 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-04-22 18:48:08 +00:00
cd397b64d5 fpspreadsheet: Remove TsNumberFormatDialect, not needed by number format parser any more. Fix some issues in visual demos related to number formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4089 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-04-19 22:03:33 +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
ccf0fa6a51 fpspreadsheet: Improved syntax for mixed fraction formatting strings
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4074 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-31 20:15:04 +00:00
5c2b844bb7 fpspreadsheet: Add formatting of numbers as fractions
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4073 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-31 19:01:16 +00:00
3a9150acf3 fpspreadsheet: Add demo hyperlinkdemo which collects the sheets of linked workbooks to a new workbook
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4035 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-15 11:02:15 +00:00
d16e0915f5 fpspreadsheet: Fix hyperlink unit tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4007 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-08 17:04:25 +00:00
2d76afb541 fpspreadsheet: Unit tests for hyperlinks. Some issues left.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4002 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-08 00:50:10 +00:00
2c63f357de fpspreadsheet: Move InitFormatRecord from unit fpstypes to fpsutils. Add enumeratortests to spreadtestcli.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3992 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-05 10:54:06 +00:00
7e52faa49f fpspreadsheet: In fpspreadsheet.pas, extract cells AVLTree to fpsclasses.pas. Implement enumerator for the avl trees. Add unit tests for cell and comment enumeration.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3988 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-04 17:30:59 +00:00
7ad2d347ea fpspreadsheet: Begin migration of code related to AVLTrees to new unit fpsclasses. Hyperlinks and comments trees already migrated.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3978 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-02 12:23:52 +00:00
ea36d2e089 fpspreadsheet: Shorten fpspreadsheet.pas by putting NumFormatList and CustomReader/Writer to separate units
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3963 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-25 09:43:37 +00:00
4f6184f243 fpspreadsheet: Prepare infrastructure for cell hyperlinks
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3955 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-22 23:38:28 +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