+ All Categories
Home > Technology > PHPExcel and OPENXML4J

PHPExcel and OPENXML4J

Date post: 25-Jun-2015
Category:
Upload: maarten-balliauw
View: 3,116 times
Download: 3 times
Share this document with a friend
Description:
Presentation me and Julien Chable did at the DII workshop in Brussels, december 2, 2008 - http://blog.maartenballiauw.be/post/2008/11/28/Presenting-at-the-OpenXML-DII-workshop-Brussels.aspx
Popular Tags:
30
Document Interop from an Open Source perspective aarten Balliauw – http://blog.maartenballiauw.be ulien Chable – http://blogs.developpeur.org/neodante Jun 11, 2022
Transcript
Page 1: PHPExcel and OPENXML4J

Document Interop from an Open Source perspective

Maarten Balliauw – http://blog.maartenballiauw.beJulien Chable – http://blogs.developpeur.org/neodante

Apr 13, 2023

Page 2: PHPExcel and OPENXML4J

Maarten Balliauw RealDolmen –

http://www.realdolmen.com http://blog.maartenballiauw.be [email protected]

Julien Chable Wygwam – http://www.wygwam.com http://blogs.developpeur.org/neodante [email protected]

Page 3: PHPExcel and OPENXML4J

PHPExcel OPENXML4J

Page 4: PHPExcel and OPENXML4J

Provides an in-memory spreadsheet engine Workbook with worksheets Worksheets with cells Formula support + calculation engine Styles Images …

http://www.phpexcel.net or http://www.codeplex.com/PHPExcel

Page 5: PHPExcel and OPENXML4J

PHP library (PHP 5.1.x and up) Provides an in-memory spreadsheet

engine De-facto standard in PHP world Multi-platform Open-source Great documentation! Currently 14 developers - 4 active Average 280 downloads per day!

http://www.phpexcel.net or http://www.codeplex.com/PHPExcel

Page 6: PHPExcel and OPENXML4J

Generating Excel documents on server Reporting from PHP applications in

different file formats Processing existing Excel documents on

server Importing data from Excel document Re-using business logic stored in Excel

document (check my blog!) …

Page 7: PHPExcel and OPENXML4J

Core class library featuring spreadsheet engine

Supported by IReader and IWriter instances

Page 8: PHPExcel and OPENXML4J

Readers for Excel2007, Excel5, CSV, Serialized format

Writers for Excel2007, Excel5, CSV, HTML, PDF and Serialized format

Page 9: PHPExcel and OPENXML4J

Calculatio

n

Read/write

Page 10: PHPExcel and OPENXML4J

PHP

$x = 5; $x = “hello”;

$x = “Hello ” . “world”;

echo “hello !”;

C#

int x = 5; string x = “hello”;

string x = “Hello ” + “world”;

Console.Write(“hello!”);

Page 11: PHPExcel and OPENXML4J
Page 12: PHPExcel and OPENXML4J

PHPExcel OPENXML4J

Open XML for Java

Page 13: PHPExcel and OPENXML4J

Multi platform API for Java client/J2SE and serveur/J2EE applications

Open Source Project under Licence BSD (dual license Apache V2)

Official website : http://www.openxml4j.org/

Based on ECMA 376 specifications

Page 14: PHPExcel and OPENXML4J

OpenXML4J launch May 30th, 2007

Page 15: PHPExcel and OPENXML4J

Unified companies and communities efforts into a concrete and common implementation

Promote Open XML Interoperability in heterogeneous environments

An open standard, an open implementation !

Page 16: PHPExcel and OPENXML4J

import org.openxml4j.opc;...Package p = Package.open(filepath, PackageAccess.READ);

for (PackagePart part : p.getParts())System.out.println(part.getPartName() +

" -> " + part.getContentType());

using System.IO.Packaging;...Package p = Package.Open("", System.IO.FileMode.Open); for (PackagePart part in p.GetParts()) Console.WriteLine(part.Uri + " -> " + part.ContentType);

Page 17: PHPExcel and OPENXML4J

Package p = Package.open(“c:\....docx”, PackageAccess.READ);PackageProperties props = p.getPackageProperties();System.out.println("Title: " + props.getTitleProperty().getValue());p.close();

Package p = Package.Open(“c:\....docx", FileMode.Open);PackageProperties props = p.PackageProperties;Console.WriteLine("Title: " + props.Title);p.Close();

Page 18: PHPExcel and OPENXML4J

Several steps:1. Implementation of Open Packaging

Convention (part 2)2. Implementation of typed parts :

WordprocessingML, SPreadsheetML and PresentationML

3. Implementation of an object model for each format

Now, only step 1 is implemented. Now the next step are in POI

Page 19: PHPExcel and OPENXML4J

DOM4J

Librairies

XMLbeans …

Open Packaging Convention

Shared schemas(DrawingML, MathML, CustomXML, Metadata,…)

WordprocessingML

SpreadsheetML PresentationML

STP STP STP

Modèle objets Modèle objets Modèle objets

Page 20: PHPExcel and OPENXML4J

Beginning in 2006 : Now uses by several open source

projects :▪ POI (http://poi.apache.org) ▪ Doc4J (http://dev.plutext.org/trac/docx4j)

Several projects in companies (French) Today we’re joining the Apache

Foundation and the POI project to offer a single API and point of contact to the community

Page 21: PHPExcel and OPENXML4J
Page 22: PHPExcel and OPENXML4J

Web Service Glassfish V2 Beta 2

Page 23: PHPExcel and OPENXML4J
Page 24: PHPExcel and OPENXML4J

Close to the ECMA standard specifications Validation tests

Page 25: PHPExcel and OPENXML4J

A set of APIs to read and write Excel files using Java

Still very active since April 2001: Top Level Project within Apache !

Also support several MS file formats : Word, PowerPoint, Visio, Publisher

Version 3.5 will support XLSX and PPTX

Page 26: PHPExcel and OPENXML4J

Several APIs for several file formats: HSSF and XSSF: Read and write Excel

documents (97 – 2003 and 2007) HWPF: Read (and partly write) Word 97

documents. Early stages of developement. HSLF: Read and write PowerPoint 97-2003

documents. HPSF: Read and write OLE 2 property (title,

author, etc) HDGF: Read at very low level (and simple text

extraction) Visio 97-2003 documents HPBF: Read at very very low level (and simple

text extraction) Publisher 98-2007 documents

Page 27: PHPExcel and OPENXML4J

POI compilation with Ant :

Page 28: PHPExcel and OPENXML4J
Page 29: PHPExcel and OPENXML4J
Page 30: PHPExcel and OPENXML4J

Maarten Balliauw http://blog.maartenballiauw.be [email protected]

Julien Chable http://blogs.developpeur.org/neodante [email protected]


Recommended