interop@apache - 8/12/2002 ¢  What is Apache POI ? Apache top level project for developing...

download interop@apache - 8/12/2002 ¢  What is Apache POI ? Apache top level project for developing pure Java

If you can't read please download the document

  • date post

    09-Apr-2020
  • Category

    Documents

  • view

    1
  • download

    0

Embed Size (px)

Transcript of interop@apache - 8/12/2002 ¢  What is Apache POI ? Apache top level project for developing...

  • interop@apache.org

    Paolo Mottadelli

    p.mottadelli@sourcesense.com

    http://www.sourcesense.com

    mailto:interop@apache.org mailto:interop@apache.org mailto:p.mottadelli@sourcesense.com mailto:p.mottadelli@sourcesense.com

  • Agenda

     Apache Software Foundation (ASF)

     Interoperability @ ASF

     Some ASF projects for interoperability

     Apache POI

     Demo

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Apache Software Foundation

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Apache Software Foundation

    The Apache Software Foundation provides support for the Apache community of open-source

    software projects.

    “We consider ourselves not simply a group of projects sharing a server, but rather a community

    of developers and users.”

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • ASF roles

     Supports Apache projects with an infrastructure for open development

     Plays as a legal entity for donations

     Offers legal support to Apache projects

     Promotes and protects the Apache brand

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • ASF actions

     Supports collaborative software development

     Provides a Commercial Friendly License

     Produces high quality software

     Promotes an 'healthy' interaction among people

     Provides faithful standard implementations

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • ASF principles

    Meritocracy

    Respect

    Consensus

    Transparency

    Openness Simplicity

    Responsibility

    Voluntary work

    Mutual assistance

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Apache projects

    Apache HTTP Server

    ... other 63 projects

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Interoperability @ ASF

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Apache for Interoperability

     Collaboration

     Transparency

     Neutrality

     Faith to standards

     High quality

     Reference implementations

     TCKs

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Some ASF projects for interop

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Some Interop ASF projects

     Apache Stonehenge

     Apache QPID

     Apache Axis

     Apache POI

     (some) Reference Implementations

     Apache Pluto: Java Portlet Specification (JSR-268)

     Apache Tomcat: Java Servet Container & JSP

     Apache Jackrabbit: JCR (JSR-170)

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Apache POI

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • What is Apache POI ?

    Apache top level project for developing pure Java ports of file formats based on Microsoft's OLE2

    Compound Document Format,

    and now for Office Open XML format.

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • POI modules (1)

    Different sets of APIs:

    POIFS: reading and writing Office Documents HSSF: r/w Excel spreadsheets HWPF: r/w Word documents HSLF: r/w Power Point presentations HPSF: r/w property sets

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • POI modules (2)

    Support for Office Open XML format:

    XSSF: r/w OXML Excel Spreadsheets XSLF: r/w OXML Power Point Presentations XWPF: r/w OXML Word Documents

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • OOXML dev status

     XSSF module : FINAL status (in POI-3.5)

     XWPF module : DRAFT status

     XSLF module : not covered yet

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • HSSF & XSSF

     Common User Model (DOM-like) interface

     User Model based on the existing HSSF one

     Using OpenXML4J and SAX to do event

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • XSSF Usermodel

     Workbook

     A Workbook holds a Sheet

     A Sheet contains Rows

     A Row contains cells

     From a Cell get Content and others

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Common HSSF & XSSF access

    org.apache.poi.ss

    Workbook wb;

    if(args.length > 0 && args[0].equals("-xls")) wb = new HSSFWorkbook(); else wb = new XSSFWorkbook();

    Sheet sheet = wb.createSheet("Timesheet"); .................................................................................. ............ same implementation for xls & xlsx ........ ..................................................................................

    String file = "timesheet.xls"; if(wb instanceof XSSFWorkbook) file += "x";

    Paolo Mottadelli - p.mottadelli@sourcesense.com

  • Demo

    Paolo Mottadelli - p.mottadelli@sourcesense.com