`
ygsilence
  • 浏览: 332680 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java获取URL内容截取后保存到Excel中

    博客分类:
  • java
阅读更多

通过java.net  访问相应url,过滤返回的信息,并保存到excel中 ,利用jexcel包进行EXcel文件操作,不足是jexcel中不好实现删除整行。建议以后使用java POI

 

import java.io.*;
import java.io.File;
import java.util.*;
import java.text.SimpleDateFormat; 

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class UrlTest {
	public static void main(String args[]) {
		String[] urls =null;    //访问的路径名
		String[] resultS=null;    //返回的结果
		java.net.URL l_url = null;
		java.net.HttpURLConnection l_connection =null;
		java.io.BufferedReader l_reader =null;
		String sCurrentLine = " ";
		String sTotalString = " ";
		int indexNum0 =-1;
		int indexNum1 =-1;
		
		//int indexNumBegin = 0;    //内容开始
		//int indexNumEnd =0;       //内容结束
		
		Calendar rightNow = Calendar.getInstance();
		SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd");
		String time = dateFm.format(rightNow.getTime());
		
		urls = new String[200];
		resultS = new String[urls.length];
		for(int i=0;i<urls.length;i++){
			urls[i]="http://www.scpta.gov.cn/exam.aspx?Id="+(i+1);
		}
		
		for(int i=0;i<urls.length;i++ ){
		try {
			l_url = new java.net.URL(urls[i]);
			l_connection = (java.net.HttpURLConnection) l_url
					.openConnection();
			l_connection.connect();
			InputStream l_urlStream = l_connection.getInputStream();

			l_reader = new java.io.BufferedReader(
					new java.io.InputStreamReader(l_urlStream));
			while ((sCurrentLine = l_reader.readLine()) != null) {
				sTotalString += sCurrentLine;
			}
			/****过滤内容开始*****/
			indexNum0 = sTotalString.indexOf("class=\"zhuanti_990\">");
			indexNum1 = sTotalString.indexOf("</div>",indexNum0);
			resultS[i] = (sTotalString.substring(indexNum0+20,indexNum1)).trim();
	//		System.out.println("urls"+"["+i+"]"+":"+urls[i]);
	//	     System.out.println("页面内容:"+sTotalString);
	//		System.out.println("截取内容:"+resultS[i]);
			sTotalString="";
			/****过滤内容结束*****/
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		}
		try {
			// 打开文件
	//		System.out.println("开始创建");
			WritableWorkbook book = null;
			String fileName ="四川人事考试专题整理("+time+").xls";  
			book = Workbook.createWorkbook(new File(fileName));
			// 生成名为“第一页”的工作表,参数0表示这是第一页
			WritableSheet sheet = book.createSheet(" 第一页 ", 0);
			// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
			// 以及单元格内容为test
			 sheet.addCell(new Label(0, 0, "专题内容"));
			 sheet.addCell(new Label(1, 0, "专题对应地址"));
			// 将定义好的单元格添加到工作表中
			 
			 for(int i=0;i<urls.length;i++){
				 if(!(resultS[i].trim()).equals("")){
					 sheet.addCell(new Label(0, i+1, resultS[i]));
					 sheet.addCell(new Label(1, i+1, urls[i]));
				 }
				}
			 
			 for (int i = 0; i < urls.length; i++) {
				 if((resultS[i].trim()).equals("")){
					 sheet.removeRow(i+1); 
				 }
			}
			// 写入数据并关闭文件
			book.write();
			book.close();
		} catch (Exception e) {
			System.out.println(e);
		}

	}
}
 
分享到:
评论

相关推荐

    java范例开发大全源代码

     实例126 将由键盘中录入的信息保存到文件中 176  实例127 一个文件变成多个小文件 178  实例128 多个小文件合成一个文件 181  实例129 统计指定文件中的字符个数 183  实例130 对象的序列化与反序列化...

    java范例开发大全

    实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时...

    JAVA 范例大全 光盘 资源

    实例111 获取网络资源(URL) 308 实例112 FTP文件传输模拟 311 实例113 自制浏览器 316 实例114 点对点通信(Socket基于TCP协议) 323 实例115 点对面通信(Socket基于TCP/IP协议) 327 实例116 多线程断点续...

    Java范例开发大全 (源程序)

     实例126 将由键盘中录入的信息保存到文件中 176  实例127 一个文件变成多个小文件 178  实例128 多个小文件合成一个文件 181  实例129 统计指定文件中的字符个数 183  实例130 对象的序列化与反序列化 185...

    Java范例开发大全(全书源程序)

    实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131...

    基于Java和Python的爬虫项目实战源码.zip

    c)播放器-Player,JMF中的接口是Player,将音频/视频数据流作为输入,将数据流输出到音箱或屏幕上 d)处理器-Processor,Processor接口继承了Player接口,支持Player对象所支持的功能外还可以控制对于输入的多媒体...

    java范例开发大全(pdf&源码)

    实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时...

    JavaScript完全自学宝典 源代码

    Calculate1.java 计算浮点数运算结果并调用页面中JavaScript函数的Applet。 Calculate1.class Calculate1.java的字节码文件。 第16章(\c16) 示例描述:介绍JavaScript访问本地文件的各种方法。 16.1....

    JSP实用技巧集合,jsp编程的一些小技巧总结

    5. java中如何把一个目录下的文件移到另一个指定的目录? 6. 制作表格线? 7. jsp如判别一个字符在A到Z之间? 8. 得到一浮点数小数点后4位,如何写以函数截取为两位 9. 整型转字符? 10. 显示数据库的记录,点击哪个...

    jsp编程技巧集锦

    数字转中文 128 自动计算金额 129 JSP页面打印中使用WebBrowser控件 130 不刷新页面添加新的类别 131 鼠标滚动缩放图片 132 根据输入的表名生成输入数据表格 133 JSP表格输出到Excel 134.JSP...

    ASP200问.EXE

    91.怎样将数据从Excel导入到SQL Server中 92.怎样将数据从Access导入到SQL Server中 94.如何对Access数据库进行压缩 96.如何使用ASP实现Web数据统计和报表 97.如何在查询结果中搜索 第6章 数据验证 101.如何在ASP...

    易语言程序免安装版下载

     静态编译后的易语言EXE/DLL之间不能再共享譬如窗口、窗口组件等类似资源,对于已经静态连接到一个EXE/DLL中的支持库,该支持库中的数据或资源将不能再被其它EXE/DLL中所使用的同名支持库访问。这是因为代码被分别...

    测试培训教材

    把测试计划树中的“Cruises”包含的所有测试用例以及“Airline Preference”、“Number of Passengers”添加到测试集中: 9、测试过程监控 计划测试的运行 在“Mercury Tours 1.0.1”中新建一个测试集: ...

Global site tag (gtag.js) - Google Analytics