Download presentation
Presentation is loading. Please wait.
Published byDiana McLaughlin Modified over 9 years ago
1
Working with Microsoft Excel spreadsheets and Microsoft Access databases in a Java application Sean Sullivan July 27, 2006
2
This presentation is available at http://oscon2006.sourceforge.net/
3
Introduction Jakarta POI project Jackcess project Demo: web application Demo: Swing application Overview
4
Java class library for reading and writing Microsoft Office documents Apache License 2.0 http://jakarta.apache.org/poi Jakarta POI
5
Read/write OLE2 Compound Document Format Read/write Microsoft Office documents XLS PPT DOC Not supported MDB VSD POI features
6
Who is using Jakarta POI?
7
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
8
Microsoft Excel file format 222 pages!
9
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
10
Demo: Hello POI @see HelloPoi.java
11
Yes! HSSFCell getCellFormula setCellFormula("formulaString") HSSFFormulaEvaluator evaluate(HSSFCell) Can I use formulas?
12
Macros - must load from a template XLS file Charts - limited support Pivot tables - not supported Other POI topics
13
Java class library for reading and writing MDB files developed by Health Market Science Inc. LGPL requires JRE 1.5 or higher http://jackcess.sourceforge.net/ Jackcess project
14
Read/write Microsoft Access MDB files * Copy ResultSet to MDB table Copy CSV file to MDB table Jackcess features * Microsoft Access 2000 only
15
Package: com.healthmarketscience.jackcess Core classes: Database Table Column DataType Jackcess API
16
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)); }
17
Eclipse 3.2 WebTools 1.5 Subversion 1.3.x Subclipse 1.1.x Tomcat 5.5.17 Firefox 1.5.0.5 Maven 2.0.4 Web application demo POI 3.0 alpha 2 Jackcess 1.1.5 OpenCSV 1.5 Wicket 1.2 Derby 10.1.2.1 Log4j 1.2.13 Sun JDK 1.5
18
javax.swing.JTable javax.swing.table.TableModel Jakarta POI Swing demo
19
Summary Use POI to read/write XLS files http://jakarta.apache.org/poi/ Use Jackcess to read/write MDB files http://jackcess.sourceforge.net/ This presentation http://oscon2006.sourceforge.net/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.