Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend\Excel Component Proposal

Proposed Component Name Zend\Excel
Developer Notes\Excel
Proposers Martin Keckeis
Zend Liaison TBD
Revision 1.0 - 1 February 2011: Initial Draft. (wiki revision: 16)

Table of Contents

1. Overview

Zend\Excel is a simple component that can read and write Ecma TC45 Office Open XML File Formats, which is common known under the *.xlsx file.

2. References


3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will not read/write Excel 5 files
  • This component will read/write Ecma TC45 Office Open XML File Formats and upwards
  • This component will use Zend\Cache for caching readed files
  • This component will use Zend\Translate and/or Zend\Locale for translating formulas and other things

4. Dependencies on Other Framework Components

  • Zend\Exception
  • Zend\Cache
  • Zend\Translate
  • Zend\Locale
  • Zend\Config (maybe)

5. Theory of Operation

General for using this component, the ZipArchive and XML Manipulating from PHP is needed.

UC-01 write

1. User defines what shall be written to the output (texts, images, meta-data, formatting, ...)
2. Forwarding the provided data to the generation classes
3. Generate and write each single XML document
4. Putting it in the ZIP together

UC-01 open/read

1. Unzip the XMLs
2. open [Content_Types].xml and _rels/.rels (these two files are required minimal)
3. Looping through the needed files (from user)
4. Return output

6. Milestones / Tasks

  • Milestone 1: Reading/Understanding the whole XML parts which are possible in the ZIP of word, excel, powerpoint
  • Milestone 2: Checking what parts are identical in the word/powerpoint/excel 2007 XML. If there are enough identical that it's worth to abstract -> If not: Skip Milestone 3 and procced with Milestone 4
  • Milestone 3: Rename the component to Zend\Microsoft or Zend\Office. Now this component will be able to be used by word, excel and powerpoint (in future)
  • Milestone 4: Class structure
  • Milestone 5: Working prototype
  • Milestone 6: Feedback
  • Milestone 7: Writing Tests
  • Milestone 8: Final coding
  • Milestone 9: Documentation / Review

7. Class Index

  • Zend\Excel\Exception
  • Zend\Excel\Excel (factory class)
  • Zend\Excel\Worksheet
  • Zend\Excel\Cell
  • Zend\Excel\Style
  • ....

8. Use Cases

UC-01 write

use Zend\Excel;
$excel = new Excel(...);

$worksheet = $excel->getWorksheet(...);

$style1 = new Excel\Style();

$cell = new Excel\Cell();

$worksheet->setCell('A', '1', $cell);


9. Class Skeletons


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.