Commit Graph

197 Commits

Author SHA1 Message Date
a5e8d60e81 fpspreadsheet: Add writing of header/footer images to ods.
Reorganize ods header/footer code. 
Fix writing of page margings for ods. 
Fix Excel failing to load file with footer image.
Add header/footer image and image demos.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4545 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-13 18:15:40 +00:00
d5fb9128ef fpspreadsheet: Write defaultrowheight and defaultcolwidth for Excel formats (don't know how ods stores them...)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4543 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-11 22:42:13 +00:00
345f1c6818 fpspreadsheet: Fix Excel error with several images in xlsx file
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4542 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-11 18:38:48 +00:00
8a75b32525 fpspreadsheet: Write embedded images to ods files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4541 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-11 17:54:29 +00:00
c8d5e0f95a fpspreadsheet: Add text format. Allow leading apostrophe to prevent conversion of a cell text to numbers.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4538 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-09 21:17:53 +00:00
8abea8d2f7 fpspreadsheet: Support for writing headers/footer images to xlsx. Remove some compiler hints and warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4532 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-08 11:29:13 +00:00
f1c07951dd fpspreadsheet: Move PageLayout to separate unit (fpsPageLayout). Move PrintRanges and RepeatedRows/Cols to PageLayout. Some simplifiations because TsPageLayout is a class now. Prepare for images in header/footer.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4530 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-04 23:01:21 +00:00
58547464d3 fpspreadsheet: Initial support for embedded images. Writer for xlsx. Avoid writing relationship for non-existing files to xlsx. Add "numFmtId=0" to xlsx styles (seems to be mandatory for import to Access).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4528 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-03 19:12:58 +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
22c42622a2 fpspreadsheet: Add printranges and repeated header cols/rows (for printing) to worksheet. Implement writing to xlsx and ods. (Request from the forum http://forum.lazarus.freepascal.org/index.php/topic,31496.0.html).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4496 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-02-13 17:45:36 +00:00
8a0351fde3 fpspreadsheet: Fix incorrect writing order of merged cells and hyperlinks in xlsx files causing an Excel read error (issue #0029640)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4495 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-02-12 14:04:35 +00:00
9a35171efd fpspreadsheet: Fix writing of hyperlink displaytext with double-quotation characters in xlsx causing an xml read error. Issue #0029640.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4494 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-02-12 13:41:18 +00:00
aa29b42ebc fpspreadsheet: Add worksheet-BiDiMode. Read/write for Excel5, Excel8, xlsx, ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4474 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-01-26 11:26:57 +00:00
8184c4b609 fpspreadsheet: Add cell-based BiDiMode. Read/write to/from biff8, xlsx, ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4469 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-01-25 18:55:33 +00:00
b9b381633f fpspreadsheet: Restore usage of a temp file name for the zipper needed by xlsx and ods writers, now defined by GetTempfilename, instead of the constant '___TEMP.TMP___'. This should work even if the current folder is not writable.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4400 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-12-03 11:10:34 +00:00
7ef55a84d9 fpspreadsheet: Fix compilation of fpsspeedtest.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4399 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-12-02 23:24:41 +00:00
a0ee8b8933 fpspreadsheet:
- Move BasicReader/Writer from fpspreadsheet.pas to fpsReaderWriter.pas in order to fix circular unit dependence introduced in prev commit. 
- Remove usage of temp file in xlsx and ods stream writers (see forum forum.lazarus.freepascal.org/index.php/topic,30606.msg194818.html).

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4398 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-12-02 22:16:55 +00:00
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
535273462f fpspreadsheet: Simpler access to clipboard.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4372 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-10-06 12:01:35 +00:00
6fb4bb9c9b fpspreadsheet: Introduce additional parameter ("AParam") when saving workbooks.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4367 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-10-04 13:12:46 +00:00
c22465879e fpspreadsheet: Fix reading non-integer sized fixed panes in xlsx files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4336 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-17 14:48:33 +00:00
899efef347 fpspreadsheet: Fix xlsx reading crashing for non-integer font sizes.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4335 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-17 12:51:54 +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
f9c7e354c5 fpspreadsheet: Clean-up
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4317 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-09 13:20:09 +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
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
ad6ce37f87 fpspreadsheet: Fix crash when reading xlsx with unexpected formatting of column width node. Add "inlineStr" data type to xlsx reader.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4250 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-04 19:27:29 +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
71fa9ae693 fpspreadsheet: Add redundant information on selected worksheet to xls files (like Excel does). Add code to read/write selected cell in xls, xlsx and ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4243 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-04 09:42:39 +00:00
31090f663a fpspreadsheet: Fix incorrect "Continue" in TsSpreadOOXMLReader.ReadFrom(Stream|File)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4242 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-03 21:12:11 +00:00
6a6f290fda fpspreadsheet: Read/write name of active worksheet (biff5, biff8, xlsx, ods, visual controls)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4240 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-03 19:04:40 +00:00
126fe87ad1 fpspreadsheet: Fix xlsx writing column widths
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4238 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-03 14:18:23 +00:00
b6a8d809bb fpspreadsheet: Support for all line styles of biff8 and ooxml.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4228 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-07-30 17:15:48 +00:00
85351db23a fpspreadsheet: Improved replacement of unsupported xlsx border line styles.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4227 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-07-30 16:33:25 +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
9674b291fd fpspreadsheet: Fix ooxml reader crashing if file contains gradient fill definitions.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4223 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-07-30 11:19:50 +00:00
a838fe2707 fpspreadsheet: A bunch of updates have run up...
- Activate ReadFromStream from xls5/8, xlsx, and ods readers (issue #0028389)
- Fix ods using correct hyperlink font
- Rich text formatting runs for xls5/8, xlsx, ods (both reading and writing)
- BIFFExplorer: show details of rich-text formatting runs for SST and RSTRING records

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4211 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-07-26 12:40:51 +00:00
9b89738158 fpspreadsheet: Extend TsFont for sub-/superscripts. Initial implementation of "rich-text" cell format: display in WorksheetGrid and SpreadsheetInspector, read from xlsx, extend TsWorksheet.WriteUTF8Text() for rich-text formatting runs.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4203 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-07-09 11:10:15 +00:00
0d7bdfa06c fpspreadsheet: Move TsCellFormatList from fpsTypes.pas to fpsClasses.pas. Updated chm help file after proof-reading.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4173 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-01 19:58:26 +00:00
f8f72e3847 fpspreadsheet: Make number format parser independent of workbook. Some cleanup.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4167 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-31 16:06:22 +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
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
4e420fa876 fpspreadsheet: Add unit tests for some more page layout properties (Fit width/height to pages, start page number) (completing the first 1000 test cases...)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4113 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-04 17:38:56 +00:00
dfa4df2c1e fpspreadsheet: Write page layout to ods. Fix some page-layout-related bugs for ooxml.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4109 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-02 23:04:59 +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
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
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