notatki_java_09.pdf

(140 KB) Pobierz
694685106 UNPDF
Jakarta POI
Jakarta POI ( http://jakarta.apache.org/poi/index.html ) jest zbiorem narzędzi
umożliwiającym prace z dokumentami zapisanymi w formatach wspieranych przez
Microsoft. W skład POI wchodzą następujące komponenty:
POIFS – obsługa dokumentów OLE 2,
HSSF – dokumenty w formacie Excel'a,
HWPF – proste dokumenty w formacie Word 97,
HPSF własności dokumentów OLE 2 (tytuł, autor, data ostatniej modyfikacji, ...).
1
HSSF w skrócie
odczyt i zapis arkusza:
POIFSFileSystem fs = new POIFSFileSystem(
new FileInputStream("input.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
FileOutputStream fileOut =
new FileOutputStream("output.xls");
wb.write(fileOut);
fileOut.close();
nowy, pusty dokument:
HSSFWorkbook wb = new HSSFWorkbook();
nowy arkusz:
HSSFSheet sheet1 = wb.createSheet("pierwszy arkusz");
HSSFSheet sheet2 = wb.createSheet("drugi arkusz");
2
HSSF w skrócie
dodawanie komórek do formularza:
HSSFRow row = sheet.createRow((short)0);
HSSFCell cell = row.createCell((short)0);
cell.setCellValue(1);
row.createCell((short)1).setCellValue("jakis tekst");
row.createCell((short)2).setCellValue(true);
daty
HSSFCell cell = row.createCell((short)3);
cell.setCellValue(new Date());
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(
HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
cell = row.createCell((short)4);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
3
HSSF w skrócie
justowanie:
HSSFCell cell = row.createCell((short)5);
cell.setCellValue("justowanie");
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
cell.setCellStyle(cellStyle);
Więcej informacji: http://jakarta.apache.org/poi/hssf/quick-guide.html.
4
Przykład
Jako przykład zastosowania pakietu Jakarta POI przygotujemy klasę rozszerzającą
JTable o metodę public void exportTable(File file) , która zapisuje
dane znajdujące się w tabeli do pliku xls .
JXMLTable
TableRow
1ALiterka a
2BLiterka b
3CLiterka c
4DLiterka d
5
694685106.001.png 694685106.002.png 694685106.003.png
Zgłoś jeśli naruszono regulamin