У меня небольшая проблема.Я хочу отобразить файл Excel в виде таблицы.Я хотел бы выбрать файл с помощью filechooser и отобразить его в виде таблицы.
Я попробовал его с teaxtarea в качестве примера, и он работал чудесно.Мне нужно это в виде таблицы.Я был бы признателен, если бы вы могли мне помочь.
Я программирую это с помощью JavaFX
Я покажу вам, как я это сделал с текстовой областью.
Я уже создалвид таблицы отдельно.Мне просто нужен пример того, как я могу вставить его в табличное представление.
Я открываю файл excel, используя apache poi.
public class ReadExcel extends Application {
Pane pane = new Pane();
Button button = new Button("Hier");
Desktop desktop = Desktop.getDesktop();
TextArea textarea = new TextArea();
public void start(Stage primaryStage) throws IOException {
Scene scene = new Scene(pane);
scene.getStylesheets().add("style.css");
primaryStage.setTitle("GBO-Tool");
primaryStage.setScene(scene);
primaryStage.show();
textarea.setLayoutX(100);
textarea.setLayoutY(100);
pane.getChildren().addAll(button, textarea);
FileChooser filechooser = new FileChooser();
button.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent e) {
File file = filechooser.showOpenDialog(primaryStage);
if (file != null) {
try {
readExcel();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});
}
public void readExcel() throws IOException {
String excelfile = "Gesamtpunktzahl.xlsx";
FileInputStream is = new FileInputStream(newFile(excelfile));
Workbook wb = new XSSFWorkbook(is);
Sheet sheet = wb.getSheetAt(0);
Iterator<Row> iterator = sheet.iterator();
while (iterator.hasNext()) {
Row nextRow = iterator.next();
Iterator<Cell> cellIterator = nextRow.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case STRING:
textarea.appendText(cell.getStringCellValue() + "\n");
break;
case BOOLEAN:
textarea.appendText(cell.getBooleanCellValue() + "\n");
break;
case NUMERIC:
textarea.appendText(cell.getNumericCellValue() + "\n");
break;
}
textarea.appendText("\n");
}
}
wb.close();
is.close();
}
private static String newFile(String excelfile) {
return excelfile;
// TODO Auto-generated method stub
}
public static void main(String[] args0) {
launch();
}
}