导入excel 数据方法

protected void fileInput()
{
   String path = "";
   JFileChooser fDialog = new JFileChooser();
   fDialog.setApproveButtonText("确定");
   fDialog.setDialogTitle("选择文件");

   fDialog.setFileFilter(new FileFilter()
   {

    @Override
    public boolean accept(File file)
    {

     return file.getName().endsWith(".xls");
    }

    @Override
    public String getDescription()
    {
     return "Microsoft Office EXCEL 工作簿(*.xls)";
    }
   });

   int result = fDialog.showSaveDialog(getCurrentView());

   if (result == JFileChooser.APPROVE_OPTION)
   {
    getCurrentView().getBox().clear();
    path = fDialog.getSelectedFile().getPath();
    getCurrentView().getInputTFS().setAttrValue(
      fDialog.getSelectedFile().getName());

    LogHome.getLog().info(path);
    try
    {
     Page page = new Page();
     //最大查询1w条记录
     page.setPageSize(this.MAXPAGESIZE);
     List<String> strList = getPortOtherList(path);
     clearSeq();
     page = QueryController.getDeviceQueryBo()
       .findAsgn(
         new Page(getCurrentView().getTablePanel()
           .getPageSize()), strList, new ClientSecuDataObj());
     //Page page = InterfaceController.getPortOtherBo().batchFileImport(getCurrentView().getPortOtherQueryPanel().getTableContainer().getPage(), getPortOtherList(path));
     if (page != null && null != page.getList()
       && page.getList().size() != 0)
     {
     
      setPageSize(page);     
      this.getCurrentView().getTablePanel().setPage(page);
      COptionPane.showMessageDialog(getCurrentView(), "导入成功!");
     }
    }
    catch (Exception e)
    {
     e.printStackTrace();
     COptionPane.showMessageDialog(getCurrentView(), "导入异常!");
    }
   }
}

private List getPortOtherList(String filePath) {
   List list = new ArrayList();

   try {
    InputStream is = new FileInputStream(filePath);
    Workbook rwb = Workbook.getWorkbook(is);
    Sheet sheet = rwb.getSheet(0);
    // 获取总列数
    int rsColumns = sheet.getColumns();
    // 获取总行数
    int rsRows = sheet.getRows();
    int startRows = 1;
    while (startRows < rsRows) {
     List infoList = new ArrayList();
     for (int i = 1; i < rsColumns; i++) {
      // getCell(x,y) 表示excel中的第y行的第x列
      Cell tmp = sheet.getCell(i, startRows);
      infoList.add(tmp.getContents());
     }
     startRows++;
    }
   } catch (Exception e) {
    e.printStackTrace();
   }

   return infoList;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值