Java+Flex+POI 解析Excel文件(读取文件中想要的内容)

来源:互联网 发布:adobe xd mac 破解 编辑:程序博客网 时间:2024/05/16 07:19

注;此功能是根据Excel文件中读取内容的行和列,才能实现读取想要的内容。如果不知道行数和列数,则功能失效。功能代码如下:

1、Java代码:

注:只能解析Excel2003版本下的,2007暂时不支持,只要换个POI的包就可以了。

public List meetquery() {
          List list=new ArrayList();
          try {

             //文件地址
               FileInputStream fis = new FileInputStream("e:\\Test.xls");
               HSSFWorkbook wb = new HSSFWorkbook(fis);
               HSSFSheet s = wb.getSheetAt(0);
               HSSFRow row1=null;
               //总行数 不包括标题内容
               int colNum=s.getLastRowNum();
              System.out.println("共有行数"+colNum);
              //初始值i=5是因为要查询的值在第五行中
              String str=null;
             for(int i=5;i<=colNum;i++)
             {
                   row1=s.getRow(i);//要解析的行数
                   HSSFCell cell=row1.getCell((short) 3);//要解析的列数
                   str=cell.getStringCellValue();
                   list.add(str);
             }
               fis.close();
              } catch (Exception e) {
               e.printStackTrace();
              }
              
                Iterator it=list.iterator();
                while(it.hasNext())
                {
                     String s=(String)it.next();
                     System.out.println("提取的处置要点为是:"+s);
                }
                
        return list;
    }
2、Flex代码:

Flex中触发事件,调用后台相关Java类,获取到java类的集合

2.1、接收后台发来的集合
[Bindable]
public var chuzhiyd:ArrayCollection=new ArrayCollection();

2.2Flex的返回结果集方法内容:

//提取处置要点返回结果集
private function meetquery(event:ResultEvent):void
{
     //将java的集合内容传递给Flex中的集合
    this.chuzhiyd=event.result as ArrayCollection;
    var str:int=this.chuzhiyd.length;//获取集合长度,利用循环箱VBox中添加LinkButton
    for (var i:int=0; i <= str - 1; i++)
    {
        var butt:LinkButton=new LinkButton();
        butt.setStyle("icon", linkButtonIcon1); //给按钮前加上图片
        butt.label=chuzhiyd.getItemAt(i, i).toString(); //将集合中的值 显示在按钮上
        butt.id="YD_" + i.toString(); //给按钮设置id
        butt.addEventListener(MouseEvent.CLICK, onClickHandler);
        this.vb_bao.addChild(butt); //向Vbox中添加按钮
    }
}

2.3鼠标事件。

private function onClickHandler(event:MouseEvent):void
{
    Alert.show((event.target as LinkButton).label);
}







原创粉丝点击