How to import Excel file into JTable
Here are three way to do this.
- Use "JTableReadTableModelTask " to do this. ( recommended )
- Use "ReadTableModelTask" to do this
- Use ModelIO to do this.
1. Use "JTableReadTableModelTask "to do this. (recommended)
Here is the sample code to import excel file:
JTable jTable = new JTable();
String excelFileName = "excelFileName.xls";
File file = new File(excelFileName ); //‘file’ is the file you want to load.
JProgressBar progressBar = new JProgressBar(); //‘progressBar’ will show how much data it have loaded.
JTableReadTableModelTask task = new JTableReadTableModelTask(file, null, progressBar, jTable);
task.execute();
String excelFileName = "excelFileName.xls";
File file = new File(excelFileName ); //‘file’ is the file you want to load.
JProgressBar progressBar = new JProgressBar(); //‘progressBar’ will show how much data it have loaded.
JTableReadTableModelTask task = new JTableReadTableModelTask(file, null, progressBar, jTable);
task.execute();
2.Use "ReadTableModelTask"to do this.
Use ReadTableModelTask, you must inherit it first, and override its method done(),in the done method, you can use following statement to get a TableModel, this is not convenient, so we recommend the first way to do this:
Object o = get();
if(o instanceof TableModel) {
TableModel model = (TableModel)get();
}
if(o instanceof TableModel) {
TableModel model = (TableModel)get();
}
3.Use ModelIO to do this.
Here is the sample code, also you could put the following code into a background thread, For example: use javax.swing.SwingWorker.
Map m = new HashMap();
// you could set progressBar in the map,for example: m.put(ModelIO.PROGRESS_BAR, progressBar);
WorkBook book = ModelIO.readWorkBook(openUrl, format, m);
TableModel tableModel;
if(book.getSelectedSheet() != null) {
tableModel = book.getSelectedSheet().getModel();
} else if(book.getSheetCount() > 0) {
tableModel = book.getSheet(0).getModel();
}
// you could set progressBar in the map,for example: m.put(ModelIO.PROGRESS_BAR, progressBar);
WorkBook book = ModelIO.readWorkBook(openUrl, format, m);
TableModel tableModel;
if(book.getSelectedSheet() != null) {
tableModel = book.getSelectedSheet().getModel();
} else if(book.getSheetCount() > 0) {
tableModel = book.getSheet(0).getModel();
}
奇新Java控件——Java控件提供商和Java RIA, Web, J2ME解决方案开发商
JComponentPack是基于Swing框架的Java GUI控件集合,它包括JDataGrid电子表格版本, JDataGrid数据库版本,JComponentSet--Java swing控件集。
![1390586.html?type=1](https://i-blog.csdnimg.cn/blog_migrate/c57e85814fc5bc97746143e4cb31ce64.jpeg)
--------------------------
新闻: 微软称已与国内主流网站合作测试IE8兼容性
导航: 博客园首页 知识库 新闻 招聘 社区 小组 博问 网摘 找找看