在Java中使用poi包解析xls文件

请看代码:


                File file = new File("c:\\db\\test.xls");
                Workbook wb = null;
                try {
                    InputStream inputStream = new FileInputStream(file);
                    String fileName = file.getName();
                    if (fileName.endsWith("xls")) {
                        wb = new HSSFWorkbook(inputStream);// 解析xls格式
                    } else if (fileName.endsWith("xlsx")) {
                        wb = new XSSFWorkbook(inputStream);// 解析xlsx格式
                    }
                } catch (FileNotFoundException e) {
                    // TODO 自动生成 catch 块
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO 自动生成 catch 块
                    e.printStackTrace();
                }
                Vector<String> columuNames = new Vector<String>();
                Vector<Vector> tableData = new Vector<Vector>();



                int i = 0;

                for(i = 0;i < 3;i++){
                    Sheet sheet = wb.getSheetAt(i);// 第i个工作表
    我的xls里面有三张工作表               
                    Row row;
                    int firstRowIndex = sheet.getFirstRowNum();
                    int lastRowIndex = sheet.getLastRowNum();
                    row = sheet.getRow(firstRowIndex);
                    int firstCellIndex = row.getFirstCellNum();
                    int lastCellIndex = row.getLastCellNum();
                    int rowNum = lastRowIndex - firstRowIndex + 1;//行数
                    int columuNum = lastCellIndex - firstCellIndex;//列数



                    for (int k = 1; k < rowNum; k++) {
                        Vector<Object> rowData = new Vector<Object>();
                        rowData.add("");
                        for (int j = 0; j < columuNum; j++) {

                            if (sheet.getRow(i).getCell(j) == null) {
                                rowData.add(" ");
                            } else {
                                rowData.add(sheet.getRow(i).getCell(j).toString());
                            }
                        }
                        tableData.add(rowData);
                    }

                }


                final TableModel model = new DefaultTableModel(tableData, columuNames) ;
                //生成table并将其展示出来,下面的代码我就不写了

转载于:https://my.oschina.net/u/3184923/blog/813663

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值