Lesen Sie die Excel-Wert mit JSF
Ich Lesen müssen, eine Excel-Datei und seinen Inhalt anzuzeigen.
Ich habe einen backing-bean-code liest eine bestimmte Excel-Datei und zeigt seinen Inhalt in der Konsole. Ich habe zum anzeigen der Inhalte in einem text-editor. Mit PrimeFaces hab ich die <p:fileUpload>
und <p:editor>
.
Hier ist die Bohne:
public void handleFileUpload(FileUploadEvent event) {
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public String convertjava(String b) {
try
{
FileInputStream file = new FileInputStream(new File(""));
//Get the workbook instance for XLS file
HSSFWorkbook workbook = new HSSFWorkbook(file);
//Get first sheet from the workbook
HSSFSheet sheet = workbook.getSheetAt(0);
//Iterate through each rows from first sheet
Iterator<Row> rowIterator = sheet.rowIterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
//For each row, iterate through each columns
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_BOOLEAN:
cell.getBooleanCellValue();
break;
case Cell.CELL_TYPE_NUMERIC:
cell.getNumericCellValue();
break;
case Cell.CELL_TYPE_STRING:
cell.getStringCellValue();
break;
}
}
System.out.println("");
}
file.close();
FileOutputStream out = new FileOutputStream(new File(""));
workbook.write(out);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
System.out.println("error");
}
}
Hier die Passenden:
<h:body>
<h:form enctype="multipart/form-data">
<p:fileUpload fileUploadListener="#{uploadBean.handleFileUpload}"
mode="advanced" update="display" auto="true" sizeLimit="10000000"
allowTypes="/(\.|\/)(xls|xlsx)$/" />
<p:growl id="display" showDetail="true" />
<h:commandButton action="#{uploadBean.convertjava}"
value="Excel Report" />
</h:form>
<br />
</h:body>
Hier bin ich völlig leer, wie zu nennen, die convertJava()
Methode durch die JSF tags und Anzeige der lese-excel Werte in einem text-editor.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die hochgeladene Datei in der Datei-upload-listener-Methode. Sie sind derzeit nirgendwo zu tun. Sie sind im Grunde völlig ignoriert die hochgeladene Datei. Das macht in der Tat keinen Sinn.
Weisen Sie es als eine Eigenschaft des (Ansicht scoped) bean wie folgt:
Dann nur Futter seiner
InputStream
zuHSSFWorkbook
Konstruktor. Sie sind derzeit zu Lesen versuchte, eine nicht vorhandene Datei. Das macht in der Tat keinen Sinn. Sie sollte das Lesen der hochgeladenen Datei. Ersetzen Sie die nonsensicialdurch
Durch die Art und Weise, in der Schleife über die Excel-Zellen, Sie sind auch nirgendwo die Zuordnung der gefundenen Daten, um eine Eigenschaft/variable. Alles, es scheint, dass Ihre root-Fehler ist, dass Sie weiter ignorieren-Werte zur Verfügung gestellt, um Sie anstelle von zuweisen von Variablen für die spätere Wiederverwendung/wieder anzuzeigen. Dieses problem ist wiederum nicht genau im Zusammenhang zu JSF, aber nur, um grundlegende Java. Ich habe deshalb empfiehlt es sich, einen JSF-pause und machen Sie eine Anstrengung des Lernens grundlegende Java.