Working with Microsoft Excel spreadsheets and Microsoft Access databases in a Java application Sean Sullivan July 27, 2006
This presentation is available at
Introduction Jakarta POI project Jackcess project Demo: web application Demo: Swing application Overview
Java class library for reading and writing Microsoft Office documents Apache License Jakarta POI
Read/write OLE2 Compound Document Format Read/write Microsoft Office documents XLS PPT DOC Not supported MDB VSD POI features
Who is using Jakarta POI?
POIFS: low-level file I/O HSSF: Horrible Spreadsheet Format HWPF: Horrible Word-processing Format HSLF: Horrible Slide Format HPSF: Horrible Property Set Format DDF: Dreadful Drawing Format POI terminology
Microsoft Excel file format 222 pages!
Packages org.apache.poi.hssf org.apache.poi.hssf.eventusermodel org.apache.poi.hssf.usermodel Core classes HSSFWorkbook HSSFSheet HSSFRow HSSFCell HSSFCellStyle Working with XLS files
Demo: Hello HelloPoi.java
Yes! HSSFCell getCellFormula setCellFormula("formulaString") HSSFFormulaEvaluator evaluate(HSSFCell) Can I use formulas?
Macros - must load from a template XLS file Charts - limited support Pivot tables - not supported Other POI topics
Java class library for reading and writing MDB files developed by Health Market Science Inc. LGPL requires JRE 1.5 or higher Jackcess project
Read/write Microsoft Access MDB files * Copy ResultSet to MDB table Copy CSV file to MDB table Jackcess features * Microsoft Access 2000 only
Package: com.healthmarketscience.jackcess Core classes: Database Table Column DataType Jackcess API
Hello Jackcess Database db = Database.open(new File("demo.mdb")); for (String tname: db.getTableNames()) { Table t = db.getTable(tname); Map row; while ((row = t.getNextRow()) != null) { for (String colName : row.keySet()) { System.out.println(row.get(colName)); }
Eclipse 3.2 WebTools 1.5 Subversion 1.3.x Subclipse 1.1.x Tomcat Firefox Maven Web application demo POI 3.0 alpha 2 Jackcess OpenCSV 1.5 Wicket 1.2 Derby Log4j Sun JDK 1.5
javax.swing.JTable javax.swing.table.TableModel Jakarta POI Swing demo
Summary Use POI to read/write XLS files Use Jackcess to read/write MDB files This presentation