package com.cfets.irsms.util;
import java.util.ArrayList;
import java.util.List;
import com.cfets.common.util.StringUtil;
import com.cfets.irsms.vo.VInfocountVO;
public class JointExcelImf {
/**
* @author
* @version 2015-10-14 下午2:01:43
* @return 参数list为查询结果list,firstRow为excel首行;
*/
public static List<String[]> getExcelList(List list, List firstRow) {
// 定义导出excel的list
ArrayList<String[]> excelList = new ArrayList<String[]>();
// 拼接首行
String[] firstArr = getfirstArr(firstRow);
// 遍历查询机构list,得到excel的每一行
excelList = (ArrayList<String[]>) getEveryArr(list, firstArr);
// 排列excel ……
// …… 待定
return excelList;
}
/**
* 遍历查询机构list,得到excel的每一行
*/
public static List<String[]> getEveryArr(List list, String[] firstArr) {
// 定义导出excel的list
ArrayList<String[]> excelList = new ArrayList<String[]>();
excelList.add(firstArr);
// 遍历查询结果list
for (int i = 0; i < list.size(); i++) {
// 定义结果数据的每一行
String[] everyArr = new String[firstArr.length];
VInfocountVO infocountVO = (VInfocountVO) list.get(i);
String dlDt = infocountVO.getDlDt();// 日期
String orgId = infocountVO.getOrgId();// 机构
String cntrctNmEn = infocountVO.getCntrctNmEn();// 合约
String dlSum = infocountVO.getDlsum();// 成交量
// 对每一行的前两列赋值
everyArr[0] = dlDt;
everyArr[1] = orgId;
// 遍历首行
for (int j = 2; j < firstArr.length; j++) {
// 判空和null
if (!StringUtil.isEmpty(cntrctNmEn)) {
// 如果合约品种相等
if (cntrctNmEn.equals(firstArr[j])) {
// 对此列的第j列赋值
everyArr[j] = dlSum;
}
}
}
// 赋值完毕的一维数组添加到自定义的execllist
excelList.add(everyArr);
}
return excelList;
}
/**
* 拼接首行(自定义)
*/
public static String[] getfirstArr(List firstRow) {
String[] firstArr = new String[firstRow.size() + 2];
firstArr[0] = "日期";
firstArr[1] = "机构";
for (int i = 0; i < firstRow.size(); i++) {
firstArr[i + 2] = firstRow.get(i).toString();
}
return firstArr;
}
}