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.
The first and second the way will run in the background thread, the third way will run in current thread.
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();
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();
}
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();
}
奇新Java控件——Java控件提供商和Java RIA, Web, J2ME解决方案开发商
JComponentPack是基于Swing框架的Java GUI控件集合,它包括JDataGrid电子表格版本, JDataGrid数据库版本,JComponentSet--Java swing控件集。
了解更多产品。。。
--------------------------
新闻: 微软称已与国内主流网站合作测试IE8兼容性
导航: 博客园首页 知识库 新闻 招聘 社区 小组 博问 网摘 找找看