您的位置:首页 > 编程语言 > Java开发

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

2012-11-02 13:24 911 查看
注;此功能是根据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);

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: