⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getresults.java

📁 java写的读取香港马术比赛数据,分析并导入到EXCEL的源码,可供研究用。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        			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 + -