Ich weiß, wie eine Datei laden:lesen Sie den Inhalt einer Datei-Upload in Java
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<form action="UploadServlet" method="post"
enctype="multipart/form-data">
File :<input type="file" name="file" size="50" />
<input type="submit" value="Upload File"/>
</form>
</body>
</html>
Dies ist die Klasse, die Datei zum Lesen:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderExample {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("C:\\testing.txt")))
{
String sCurrentLine;
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Nun, wie verknüpfen Sie diese beiden zusammen. Der Benutzer lädt die Datei auf den Server und der Server verarbeitet sie. d. h. es akzeptiert die Datei und druckt sie aus. Kann ich das Struts-Framework dafür verwenden? Ich möchte Excel-Blatt hochladen und den Inhalt auf die JSP-Seite drucken. Ich habe den Code zum Lesen der Excel-Tabelle in Java mit Apache Poi. Aber der Pfad zum Lesen der Excel-Datei ist fest codiert. Wie nimmst du es aus der hochgeladenen Datei?
Dies ist die Datei für Excel-Blatt zu lesen:
public class ReadExcelDemo
{
public static void main(String[] args)
{
try
{
FileInputStream file = new FileInputStream(new File("howtodoinjava_demo.xlsx"));
//Create Workbook instance holding reference to .xlsx file
XSSFWorkbook workbook = new XSSFWorkbook(file);
//Get first/desired sheet from the workbook
XSSFSheet sheet = workbook.getSheetAt(0);
//Iterate through each rows one by one
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext())
{
Row row = rowIterator.next();
//For each row, iterate through all the columns
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext())
{
Cell cell = cellIterator.next();
//Check the cell type and format accordingly
switch (cell.getCellType())
{
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue() + "t");
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue() + "t");
break;
}
}
System.out.println("");
}
file.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Ausgang:
ID Name ZUNAME 1.0 Amit Shukla 2.0 Lokesh Gupta
3.0 John Adwards 4.0 Brian Schultz
Aber wie steckst du die hochgeladene und die Servlet-Datei zusammen. Wie liest du die hochgeladene Datei?
Sie müssen ein Servlet schreiben, das die Datei empfängt. Dieses Servlet kann dann die Poi-Verarbeitung und das Rendern durchführen. – Marged