📄 getresults.java
字号:
if (child instanceof TableRow) {
Rows.add((TableRow)child);
}
}
if (Rows.size() > 3) {
for (int i=3;i<Rows.size();i+=2) {
String O = null;
String Z = null;
String AA = null;
String AB = null;
String AC = null;
String AD = null;
List<String> ZAE = new ArrayList<String>();
//System.out.println(i + ": " + Rows.get(i).toHtml());
NodeList Cells = Rows.get(i).getChildren();
// for (int j=0;j<Cells.size();j++) {
// System.out.println(j + ": " + Cells.elementAt(j).toPlainTextString().trim());
// }
if (Cells.size() > 5) {
O = Cells.elementAt(5).toPlainTextString().trim();
int beginIndex = O.indexOf("(");
int endIndex = O.indexOf(")");
if (beginIndex > -1 && endIndex > -1)
O = O.substring(beginIndex+1, endIndex);
}
for (int m=7;m<Cells.size() && m<=17;m+=2) {
String str = Cells.elementAt(m).toPlainTextString().trim();
String temp[] = str.split(" ");
if (temp.length > 0) str = temp[0];
str = str.replace("\n", "");
str = str.replace("\r", "");
str = str.trim();
if (str.length() > 0) ZAE.add(str);
}
if (ZAE.size() > 0) ZAE.remove(ZAE.size() - 1);
if (ZAE.size() > 0) AD = ZAE.get(ZAE.size() - 1);
if (ZAE.size() > 1) AC = ZAE.get(ZAE.size() - 2);
if (ZAE.size() > 2) AB = ZAE.get(ZAE.size() - 3);
if (ZAE.size() > 3) AA = ZAE.get(ZAE.size() - 4);
if (ZAE.size() > 4) Z = ZAE.get(ZAE.size() - 5);
System.out.println("O="+O+" Z="+Z+" AA="+AA+" AB="+AB+" AC="+AC+" AD="+AD);
//根据日期和O列判断
if (O != null) {
for (int j=0;j<rows.size();j++) {
List<String> cells = rows.get(j);
if (O.equals(cells.get(14))) {
cells.set(25, Z);
cells.set(26, AA);
cells.set(27, AB);
cells.set(28, AC);
cells.set(29, AD);
break;
}
}
}
}
}
}
for (int i=0;i<rows.size();i++) {
HSSFRow row = sheet.createRow((short) count);
List<String> cells = rows.get(i);
setRow(wb, row, cells);
count++;
}
}
FileOutputStream fileOut = new FileOutputStream(file);
wb.write(fileOut);
fileOut.close();
System.out.println("导出赛果及派彩完毕");
}
private void setRow(HSSFWorkbook wb, HSSFRow row, List<String> cells) {
HttpUtil util = new HttpUtil();
for (int i=0;i<cells.size();i++) {
HSSFCell cell = row.createCell((short) i);
String temp = cells.get(i);
switch (i) {
case 2:
case 4:
case 5:
case 8:
case 12:
case 13:
case 15:
case 16:
case 22:
case 25:
case 26:
case 27:
case 28:
case 29:
case 35:
case 36:
case 38:
case 39:
case 40:
case 49:
if (temp != null && temp.trim().length() > 0) {
try {
cell.setCellValue(Double.parseDouble(temp));
} catch (Exception e) {
//System.out.println("出错列:" + i);
//e.printStackTrace();
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(temp);
}
}
break;
case 48:
if (temp != null && temp.trim().length() > 0) {
temp = util.toChinese(temp);
try {
cell.setCellValue(Double.parseDouble(temp));
} catch (Exception e) {
//System.out.println("出错列:" + i);
//e.printStackTrace();
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(temp);
}
}
break;
case 6:
case 10:
case 11:
case 20:
case 21:
if (temp != null && temp.trim().length() > 0) {
temp = util.toChinese(temp);
if (i == 20) {
String[] arr = temp.split(" ");
if (arr.length > 0) temp = arr[0];
}
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(temp);
}
break;
case 3:
if (temp != null && temp.trim().length() > 0) {
try {
temp = temp.substring(0,4)+"-"+temp.substring(4,6)+"-"+temp.substring(6,8);
Date d = new SimpleDateFormat("yyyy-MM-dd").parse(temp);
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("d-mmm-yy"));
cell.setCellValue(d);
cell.setCellStyle(cellStyle);
} catch (Exception e) {
//System.out.println("出错列:" + i);
//e.printStackTrace();
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(temp);
}
}
break;
case 30:
if (temp != null && temp.trim().length() > 0) {
try {
temp = temp.replaceAll("-", "+");
Jep jep = new Jep();
jep.parse(temp);
temp = jep.evaluate().toString();
} catch (Exception e) {
//System.out.println("出错列:" + i);
//e.printStackTrace();
temp = temp.replace("+", "-");
}
try {
cell.setCellValue(Double.parseDouble(temp));
} catch (Exception e) {
//System.out.println("出错列:" + i);
//e.printStackTrace();
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(temp);
}
}
break;
default:
if (temp != null && temp.trim().length() > 0) {
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(temp);
}
}
}
}
private NodeFilter PageTableFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag instanceof TableTag
&& "0".equals(tag.getAttribute("border"))
&& "1".equals(tag.getAttribute("cellpadding"))
&& "1".equals(tag.getAttribute("cellspacing"))) {
return true;
}
}
return false;
}
};
private NodeFilter TdNowrapCenterFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag instanceof TableColumn
&& "middle".equals(tag.getAttribute("align"))
&& tag.getAttribute("valign") == null) {
return true;
}
}
return false;
}
};
private NodeFilter InfoTableFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag instanceof TableTag
&& "760".equals(tag.getAttribute("width"))
&& "0".equals(tag.getAttribute("border"))
&& "0".equals(tag.getAttribute("cellpadding"))
&& "1".equals(tag.getAttribute("cellspacing"))) {
return true;
}
}
return false;
}
};
private NodeFilter Table450S1P0B0Filter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag instanceof TableTag
&& "450".equals(tag.getAttribute("width"))
&& "0".equals(tag.getAttribute("border"))
&& "0".equals(tag.getAttribute("cellpadding"))
&& "1".equals(tag.getAttribute("cellspacing"))) {
return true;
}
}
return false;
}
};
private NodeFilter TableFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag instanceof TableTag) {
return true;
}
}
return false;
}
};
private NodeFilter TdFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag instanceof TableColumn) {
return true;
}
}
return false;
}
};
private NodeFilter TrFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag instanceof TableRow) {
return true;
}
}
return false;
}
};
private NodeFilter FontSize2FaceAHSFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if ("font".equals(tag.getTagName().toLowerCase()) && "Arial, Helvetica, sans-serif".equals(tag.getAttribute("face")) && "2".equals(tag.getAttribute("size")) && tag.getAttribute("color") == null) {
return true;
}
}
return false;
}
};
private NodeFilter ListTableFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag.getTagName().toUpperCase().equals("TABLE") && "760".equals(tag.getAttribute("width")) && "1".equals(tag.getAttribute("cellspacing")) && "1".equals(tag.getAttribute("cellpadding")) && "0".equals(tag.getAttribute("border"))) {
return true;
}
}
return false;
}
};
private NodeFilter font2ArialFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag.getTagName().toUpperCase().equals("FONT") && "2".equals(tag.getAttribute("size")) && "Arial".equals(tag.getAttribute("face"))) {
return true;
}
}
return false;
}
};
private NodeFilter SecTableFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof TableTag) {
Tag tag = (Tag) node;
if ("100%".equals(tag.getAttribute("width")) && "1".equals(tag.getAttribute("cellspacing")) && "0".equals(tag.getAttribute("border"))) {
return true;
}
}
return false;
}
};
private NodeFilter fontgeneral_textFilter = new NodeFilter() {
public boolean accept(Node node) {
if (node instanceof Tag) {
Tag tag = (Tag) node;
if (tag.getTagName().toUpperCase().equals("FONT") && "general_text".equals(tag.getAttribute("class"))){
return true;
}
}
return false;
}
};
public static void main(String[] args) throws Exception {
GetResults get = new GetResults();
HttpUtil client = new HttpUtil();
get.genExcel(client, "22/06/2008", new File("C:\\post-race.xls"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -