注;此功能是根据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);
}