1. Prodotti
  2.   Foglio di calcolo
  3.   Java
  4.   Apache POI HSSF

Apache POI HSSF

 
 

Libreria Java per file binari di Microsoft Excel

L'API Java open source consente di leggere, scrivere e convertire fogli di lavoro XLS di Excel.

Apache POI HSSF è un'implementazione Java pura del formato di file Excel '97(-2007) (BIFF8). L'API open source gratuita fornisce funzionalità per la creazione, la lettura, la modifica e la scrittura di fogli di calcolo Excel XLS. Gli sviluppatori interessati solo alla lettura dei dati del foglio di calcolo possono utilizzare l'API del modello di evento per soddisfare le proprie esigenze. Per modificare i dati del foglio di calcolo, è possibile utilizzare l'API del modello utente. È importante sapere che il sistema del modello utente ha un footprint di memoria maggiore rispetto al modello utente di eventi di basso livello, ma ha il grande vantaggio di essere molto più semplice da utilizzare.

Apache POI HSSF fornisce un ottimo supporto per funzionalità Excel aggiuntive come lavorare con fogli e formule, creare stili di cella riempiendo colori e bordi, caratteri, intestazioni e piè di pagina, forme, convalide dei dati, immagini, collegamenti ipertestuali e molti altri.

Previous Next

Guida introduttiva ad Apache POI HSSF

Prima di tutto, devi avere il Java Development Kit (JDK) installato sul tuo sistema. Se lo hai già, procedi alla pagina download di Apache POI per ottenere l'ultima versione stabile in un archivio. Estrarre il contenuto del file ZIP in qualsiasi directory da cui è possibile collegare le librerie richieste al proprio programma Java. Questo è tutto!

Fare riferimento a Apache POI nel tuo progetto Java basato su Maven è ancora più semplice. Tutto ciò di cui hai bisogno è aggiungere la seguente dipendenza nel tuo pom.xml e lasciare che il tuo IDE prenda e faccia riferimento ai file Apache POI Jar.

Dipendenza Apache POI Maven

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-scratchpad</artifactId>
  <version>4.0.0</version>
</dependency>

Crea cartella di lavoro Excel e aggiungi fogli tramite API Java

La libreria open source Apache POI HSSF consente agli sviluppatori di software di creare una nuova cartella di lavoro Microsoft Excel in formato file XLS. Gli sviluppatori possono facilmente aggiungere nuovi fogli di lavoro alla raccolta da un'istanza esistente di Workbook. 

Crea un nuovo file XLS

// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("CreateXls.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set cell value
cell.setCellValue("File Format Developer Guide");
// save file
workbook.write(outputStream);

API Java per leggere e scrivere su file Excel esistenti 

Apache POI HSSF consente agli sviluppatori di software di accedere e leggere i dati dalla cartella di lavoro Microsoft Excel esistente. La lettura di un file è molto semplice, prima crea un'istanza di cartella di lavoro da un foglio di lavoro di Excel e arriva al foglio desiderato. Quindi aumentare il numero di riga e scorrere tutte le celle di una riga. Ripetere questi passaggi finché non vengono letti tutti i dati. Apache POI HSSF fornisce anche funzionalità per la modifica di un file Excel esistente.

Leggi il contenuto della cella tramite Java

// open xls file
InputStream inputStream = new FileInputStream("document.xls");
Workbook workbook = WorkbookFactory.create(inputStream);
// get sheet
Sheet sheet = workbook.getSheetAt(0);
// get row
Row row = sheet.getRow(1);
// get cell
Cell cell = row.getCell(1);
// display data
System.out.println(cell);

Disegna forme e aggiungi immagini al foglio di calcolo Excel

Apache POI-HSSF fornisce funzionalità per disegnare forme nel foglio di calcolo Excel. Supporta il disegno di forme utilizzando gli strumenti di disegno di Microsoft Office. Disegna varie forme come ovale, linea, rettangolo e imposta qualsiasi altro stile di forma. In Apache POI, le immagini fanno parte del disegno e al momento supportano i tipi di immagini PNG, JPG e DIB.

Disegna rettangolo in XLS tramite Java

// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("DrawShape.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// create rectangle shape
HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
HSSFClientAnchor a = new HSSFClientAnchor(0, 0, 1023, 254, (short) 1, 0, (short) 1, 0);
HSSFSimpleShape shape = patriarch.createSimpleShape(a);
shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
// save file
workbook.write(outputStream);

Gestione dei caratteri e unione di celle di fogli di lavoro XLS

Apache POI-HSSF fornisce metodi che consentono ai programmatori Java di gestire i caratteri nei fogli di calcolo Excel. Possiamo creare il carattere, impostare il colore, impostare la dimensione, ecc. Il carattere è un'interfaccia che fornisce metodi per gestire il carattere. Apache POI-HSSF consente inoltre agli sviluppatori di unire le celle in un'unica cella. Per fare ciò, fornisce metodi che prendono gli indici di cella come argomento e uniscono le celle in un'unica grande cella.

Imposta il carattere per il foglio di lavoro XLS tramite Java

// create a new XLS file
OutputStream outfile = new FileOutputStream("SetFont.xls");
Workbook wb = new HSSFWorkbook();
// create a new sheet
Sheet sheet = wb.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set style
CellStyle style = wb.createCellStyle();
// set text
cell.setCellValue("File Format Developer Guide");
// set font settings
Font font = wb.createFont();
font.setFontHeightInPoints((short) 14);
font.setFontName("Arial");
font.setItalic(true);
font.setBold(true);
// apply font
style.setFont(font);
cell.setCellStyle(style);
// save
wb.write(outfile);
 Italiano