精华内容
下载资源
问答
  • 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet...
  • 但是,我现在需要它能够考虑存储在word文档页脚中的表单的版本号,但我不知道如何引用它 .对于VBA来说,我是一个非常棒的人,所以没有尝试过多少 .我尝试过的VBA可以在下面找到,但不出所料 .Sub ReadWordDo...

    我有一个完整的word文档表单的文件夹,我有一个excel文件,将表单上的所有答案读入电子表格中的不同工作表 . 导出数据的工作表取决于word文档的文件名 .

    这目前工作正常 .

    但是,我现在需要它能够考虑存储在word文档页脚中的表单的版本号,但我不知道如何引用它 .

    对于VBA来说,我是一个非常棒的人,所以没有尝试过多少 .

    我尝试过的VBA可以在下面找到,但不出所料 .

    Sub ReadWordDoc(filenme As String)

    Dim Val As String

    Dim WrdDoc As Document

    Dim FormFieldCounter As Integer

    Dim version As String

    Set wordapp = CreateObject("word.Application")

    wordapp.Documents.Open filenme

    wordapp.ScreenUpdating = False

    Set WrdDoc = wordapp.Documents(filenme)

    wordapp.Visible = True

    version = WrdDoc.Sections(1).Footers(wdHeaderFooterFirstPage).Range.Text

    FormFieldCounter = 1

    If InStr(version, "5.00") Then

    RowCounter = RowCounter + 1

    Sheets("Version 5").Cells(RowCounter, FormFieldCounter) = filenme

    Do While FormFieldCounter <= 125

    WrdDoc.FormFields(FormFieldCounter).Select

    Val = WrdDoc.FormFields(FormFieldCounter).result

    Sheets("Version 5").Cells(RowCounter, FormFieldCounter + 1) = Val

    FormFieldCounter = FormFieldCounter + 1

    Loop

    wordapp.Documents(filenme).Close SaveChanges:=wdDoNotSaveChanges

    wordapp.Quit

    Else

    'Do something else

    End If

    End Sub

    展开全文
  • 真有小伙伴不知道浮点数如何转二进制吗? List使用踩坑记录 Map使用踩坑记录 多线程/并发 ThreadLocal源码剖析 线程池详解 各种“锁”大科普 JUC工具类解析 JVM JVM内存模型剖析 JVM垃圾回收详解 类加载机制...
  • 推荐 在线阅读 (Github 访问速度比较慢可能会导致部分图片无法刷新出来) ...《Java 面试突击》: 由本文档衍生专为面试而生Java 面试突击》V4.0 PDF 版本公众号后台回复 "面试突击" 即可领取!
  • 推荐 在线阅读 (Github 访问速度比较慢可能会导致部分图片无法刷新出来) ...《Java 面试突击》: 由本文档衍生专为面试而生Java 面试突击》V4.0 PDF 版本公众号后台回复 "面试突击" 即可领取!
  • Ps:之间还遇到了时间和电话号码转型问题,不知道为什么excel明明列设置了文本,但导入来时候还是识别了数字类型,然后改良了代码,识别时间日期和数字类型返回字符串。 1.首先是导入Excel2003以前(包括2003)

    一直想着如何智能提高导入的方法,想出了一个工具类,希望对大家有用,导入excel生成对应的行的集合(list),集合里是对应列的Map。原生基于apache的poi类

    Ps:之间还遇到了时间和电话号码转型问题,不知道为什么excel明明列设置了文本,但导入来的时候还是识别了数字类型,然后改良了代码,识别时间日期和数字类型返回字符串。


    1.首先是导入Excel2003以前(包括2003)的版本,扩展名是.xls 的


    /**
    	 * 操作Excel2003以前(包括2003)的版本,扩展名是.xls 
    	 * @param templetFile 文件
    	 * @param startrow 开始行号
    	 * @param startcol 开始列号
    	 * @param sheetnum sheet
    	 * @return list
    	 */
    	public static List<Map<String,String>> readExcelByXls(MultipartFile templetFile, int startrow, int startcol, int sheetnum) {
    		List<Map<String,String>> varList = new ArrayList<Map<String,String>>();
    
    		try {
    			
    			HSSFWorkbook wb = new HSSFWorkbook(templetFile.getInputStream());
    			HSSFSheet sheet = wb.getSheetAt(sheetnum); 					//sheet 从0开始
    			int rowNum = sheet.getLastRowNum() + 1; 					//取得最后一行的行号
    
    			for (int i = startrow; i < rowNum; i++) {					//行循环开始
    				
    				Map<String,String> varpd = new HashMap<String,String>();
    				HSSFRow row = sheet.getRow(i); 							//行
    				int cellNum = row.getLastCellNum(); 					//每行的最后一个单元格位置
    
    				for (int j = startcol; j < cellNum; j++) {				//列循环开始
    		
    					HSSFCell cell = row.getCell(Integer.parseInt(j + ""));
    					String cellValue = null;
    					if (null != cell) {
    						switch (cell.getCellType()) { 					// 判断excel单元格内容的格式,并对其进行转换,以便插入数据库
    						case 0:
    							if(HSSFDateUtil.isCellDateFormatted(cell)){
    								SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    								cellValue=sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())).toString();
    							} else {
    								cell.setCellType(1);
    								cellValue = cell.getStringCellValue();
    						    }
    							break;
    						case 1:
    							cellValue = cell.getStringCellValue();
    							break;
    						case 2:
    							//cell.setCellType(1);
    							//cellValue = cell.getStringCellValue();
    							//cellValue = cell.getNumericCellValue() + "";
    							 cellValue = String.valueOf(cell.getDateCellValue());
    							break;
    						case 3:
    							cellValue = "";
    							break;
    						case 4:
    							cellValue = String.valueOf(cell.getBooleanCellValue());
    							break;
    						case 5:
    							cellValue = String.valueOf(cell.getErrorCellValue());
    							break;
    						}
    					} else {
    						cellValue = "";
    					}
    					
    					varpd.put("var"+j, cellValue);
    					
    				}
    				varList.add(varpd);
    			}
    
    		} catch (Exception e) {
    			System.out.println(e);
    		}
    		
    		return varList;
    	}


    2.是操作Excel2007的版本,扩展名是.xlsx的


    /**
    	 * 是操作Excel2007的版本,扩展名是.xlsx
    	 * @param templetFile 文件
    	 * @param startrow 开始行号
    	 * @param startcol 开始列号
    	 * @param sheetnum sheet
    	 * @return list
    	 */
    	public static List<Map<String,String>> readExcelByXlsx(MultipartFile templetFile, int startrow, int startcol, int sheetnum) {
    		List<Map<String,String>> varList = new ArrayList<Map<String,String>>();
    
    		try {
    			
    			XSSFWorkbook wb = new XSSFWorkbook(templetFile.getInputStream());
    			XSSFSheet sheet = wb.getSheetAt(sheetnum); 					//sheet 从0开始
    			int rowNum = sheet.getLastRowNum() + 1; 					//取得最后一行的行号
    
    			for (int i = startrow; i < rowNum; i++) {					//行循环开始
    				
    				Map<String,String> varpd = new HashMap<String,String>();
    				XSSFRow row = sheet.getRow(i); 							//行
    				int cellNum = row.getLastCellNum(); 					//每行的最后一个单元格位置
    
    				for (int j = startcol; j < cellNum; j++) {				//列循环开始
    					
    					XSSFCell cell = row.getCell(Integer.parseInt(j + ""));
    					String cellValue = null;
    					if (null != cell) {
    						switch (cell.getCellType()) { 					// 判断excel单元格内容的格式,并对其进行转换,以便插入数据库
    						case 0:				
    							if(HSSFDateUtil.isCellDateFormatted(cell)){
    								SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    								cellValue=sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())).toString();
    							} else {
    								cell.setCellType(1);
    								cellValue = cell.getStringCellValue();
    						    }
    							break;
    						case 1:
    							cellValue = cell.getStringCellValue();
    							break;
    						case 2:
    							cellValue = cell.getStringCellValue();
    							//cellValue = cell.getNumericCellValue() + "";
    							// cellValue = String.valueOf(cell.getDateCellValue());
    							break;
    						case 3:
    							cellValue = "";
    							break;
    						case 4:
    							cellValue = String.valueOf(cell.getBooleanCellValue());
    							break;
    						case 5:
    							cellValue = String.valueOf(cell.getErrorCellValue());
    							break;
    						}
    					} else {
    						cellValue = "";
    					}
    					
    					varpd.put("var"+j, cellValue);
    					
    				}
    				varList.add(varpd);
    			}
    
    		} catch (Exception e) {
    			System.out.println(e);
    		}
    		
    		return varList;
    	}

    3.重点来了,结合前两个代码使用,自动识别excel版本文件

    public static List<Map<String,String>> readExcel(MultipartFile templetFile, int startrow, int startcol, int sheetnum){
    		List<Map<String,String>> varList = new ArrayList<Map<String,String>>();
    		if(templetFile!=null&&templetFile.getSize()>0){
    			String ofn=templetFile.getOriginalFilename();// 文件名
    			String extName = ""; // 扩展名格式:
    			if (ofn.lastIndexOf(".") >= 0){
    				extName = ofn.substring(ofn.lastIndexOf("."));
    			}
    			if(".xls".equals(extName.toLowerCase())){
    				varList=readExcelByXls(templetFile,startrow,startcol,sheetnum);
    			}else if(".xlsx".equals(extName.toLowerCase())){
    				varList=readExcelByXlsx(templetFile,startrow,startcol,sheetnum);
    			}
    		}
    		return varList;
    	}



    如果有问题,可以留言或者加群(466355109)交流


    展开全文
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet...
  • Java连接数据库

    2020-02-29 15:46:42
    学习完数据库后一直对数据库没有什么太大感觉,今天学习了JDBC(由于是初学,只学到了面向接口),知道如何通过代码去连接数据库: 我们需要去下载一个jar包:mysql-connector-java-5.x.xx-bin.jar(x为版本号)...

    学习完数据库后一直对数据库没有什么太大的感觉,今天学习了JDBC(由于是初学,只学到了面向接口的),知道了如何通过代码去连接数据库:

    1. 我们需要去下载一个jar包:mysql-connector-java-5.x.xx-bin.jar(x为版本号),再复制其到项目中去再添加一下
    2. 注册驱动:Class.forName(“com.mysql.jdbc.Driber”);
    3. 获取数据库连接对象:
      conn = Drivermanager.getConnectiion(url,user,pwd);
    4. 定义sql语句
    5. 获取sql的对象:
      stmt = conn.createStatement();
    6. 执行sql:count = stmt.excuteUpdate(sql);
    7. 处理结果:
    8. 释放资源
      stmt.close();
      conn.close();
      这里是简单的连接到运行到释放空间的一些过程
      在学习过程中有一些对象不是很了解,在后面会不断的完善。

    Drivermanager:驱动管理对象
    功能:
    1. 注册驱动:为什么在这里说Drivermanager可以注册驱动,与上文使用的代码貌似不同,通过查看源码发现,在com.mysql.jdbc.Driber类中存在静态代码块
    static{
    try{
    java.sql.DriverManager.registerDriver(new Driver());
    }catch (SQLException E){
    throw new RuntimeException(“Can’t register driver!”);
    }
    }
    是否有恍然大悟的感觉。但在mysql5之后的驱动jar包可以省略注册驱动的步骤。
    2. 获取数据库连接:
    url:指定连接的路径:jdbc:mysql://ip:端口号/数据库名称
    user:用户名
    pwd :密码

    Connection:数据库连接对象
    功能:
    1. 获取执行sql的对象:
    Statement creatrStatement():创建一个Statement对象,用于将sql语句发送到数据库
    2. 管理事务:
    开启事务setAutoCommit(boolean auCommit):设置参数false开启
    提交事务commit()
    回滚事务rollback()

    Statement:执行sql的对象
    执行sql:
    1. boolean execute(String sql):可以执行任意的sql
    int executeUpdate(String sql):执行DML、DDL语句,可以看到这里返回的是一个int,这个意思是影响的行数
    ResultSet executeQuery(String sql):执行DQL语句,返回一个结果集对象

    ResultSet:结果集对象,封装查询结果
    next():游标向下移动一行
    getxxx():获取数据 如:int getInt(),String getString()
    PreparedStatement:执行sql的对象

    展开全文
  • JAVA 正则表达式

    热门讨论 2010-01-15 11:16:37
    大家都知道,正则表达式是一种可以用于模式匹配和替换规范,一个正则表达式就是由普通字符(例 如字符 a 到 z)以及特殊字符(元字符)组成文字模式,它用以描述在查找文字主体时待匹配一个或 多个字符串...
  • java-servlet-api.doc

    2009-10-13 19:34:17
    一个Javaservlet具有一个生命周期,这个生命周期定义了一个Servlet如何被载入并被初始化,如何接收请求并作出对请求响应,如何被从服务中清除。Servlet生命周期被javax.servlet.Servlet这个接口所定义。 所有...
  • ps: 虽然我知道,大部分人都是来了直接下载源代码后就潇洒离开,并且只有等到下次突然想到“我天~~我得去看看OneBlog这烂项目更新新功能了吗”时候才会重新来到这儿,即使你重新来过,我估计你也只有两个选择: ...
  • 爬虫1

    2015-01-30 16:08:30
    不过通过爬虫1,我对爬虫和搜索引擎实现机制有了更多认识,收获还是挺大^_^,涂鸦之作,我不知道别人如何实现,就按自己想法写了个,大家有兴趣可以看看,用java实现 这是工程目录: 下面是具体...

    这是我实现的第一个版本的爬虫,局限比较大,用的算法思想也比较简单。不过通过爬虫1号,我对爬虫和搜索引擎实现机制有了更多的认识,收获还是挺大的^_^,涂鸦之作,我不知道别人如何实现的,就按自己的想法写了个,大家有兴趣可以看看,用java实现的

    这是工程目录:


    下面是具体代码:

    package com.rgy.reptile;
    
    import com.rgy.utils.PageUtils;
    
    public class Entry {
    	
    	public static void main(String args[]){
    		String url = "http://www.youku.com";
    		PageUtils.history_list.add(url);
    		PageUtils.parent_stack.push(url);
    		PageUtils.searchUrl(url);
    		//PageUtils.hrefShow(url);
    	}
    }


    package com.rgy.entity;
    
    import java.util.ArrayList;
    
    public class PageInfo {
    	
    	private String url;
    	private String title;
    	private String keywords;
    	private ArrayList<String> href_list;
    	
    	public PageInfo(){
    		this.url="";
    		this.title="";
    		this.keywords="";
    		this.href_list=null;
    	}
    	
    	public void setUrl(String url){
    		this.url = url;
    	}
    	
    	public void setTitle(String title){
    		this.title = title;
    	}
    	
    	public void setKeywords(String keywords){
    		this.keywords = keywords;
    	}
    	
    	public void setHref_list(ArrayList<String> href_list){
    		this.href_list = href_list;
    	}
    	
    	public String getUrl(){
    		return url;
    	}
    	
    	public String getTitle(){
    		return title;
    	}
    	
    	public String getKeywords(){
    		return keywords;
    	}
    	
    	public ArrayList<String> getHref_list(){
    		return href_list;
    	}
    	
    }
    
    
    


    package com.rgy.utils;
    
    import java.util.ArrayList;
    import java.util.Stack;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    import com.rgy.entity.PageInfo;
    
    public class PageUtils {
    	
    	public static PageInfo getPageInfo(String url){
    		
    		PageInfo info = new PageInfo();
    		if(url.endsWith("/")){
    			url = url.substring(0, url.length()-1);
    		}
    		info.setUrl(url);
    		try{
    			Document doc = Jsoup.connect(url).timeout(30000).get();
    			String title = doc.title().toString();
    			info.setTitle(title);
    			String keywords = doc.getElementsByTag("meta").select("[name=keywords]").attr("content");
    			info.setKeywords(keywords);
    			Elements links = doc.getElementsByTag("a");
    			ArrayList<String> href_list = new ArrayList<String>();
    			for (Element link : links) {   
    				String linkHref = link.attr("href");
    				if(linkHref.endsWith("/")){
    					linkHref = linkHref.substring(0, linkHref.length()-1);
    				}
    				//如果数组中不存在这个链接
    				if(linkIsAvailable(linkHref)&&!href_list.contains(linkHref)){
    					href_list.add(linkHref);
    					info.setHref_list(href_list);
    				}
    			}
    		}catch(Exception ex){
    			ex.printStackTrace();
    		}
    		
    		return info;
    	}
    	
    	public static boolean linkIsAvailable(String url){
    		if(url.startsWith("http://")){
    			String regex = ".*.exe|.*.apk|.*.zip|.*.rar|.*.pdf|.*.doc";
    			Pattern pattern = Pattern.compile(regex);  
    	        Matcher matcher = pattern.matcher(url);
    			return !matcher.matches();
    		}
    		return false;
    	}
    	
    	public static boolean keywordsIsAvailable(String keywords){
    		String regex = ".*青春.*|.*搞笑.*|.*微电影.*|.*短片.*|.*迷你剧.*|.*喜剧.*";
    		Pattern pattern = Pattern.compile(regex);  
            Matcher matcher = pattern.matcher(keywords);
            return matcher.matches();
    	}
    	
    	//存放已经访问过的url
    	public static ArrayList<String> history_list = new ArrayList<String>();
    	//记录一路走来的父结点
    	public static Stack<String> parent_stack = new Stack<String>();
    	
    	public static void searchUrl(String url){
    		PageInfo info = getPageInfo(url);
    		String keywords = info.getKeywords();
    		int hlist_size = history_list.size();
    		System.out.println(hlist_size+"-->"+history_list.get(hlist_size-1));
    		
    //		if(keywordsIsAvailable(keywords)){//如果匹配上了,
    //			System.out.println(url+"===>"+keywords);
    //		}
    		
    		ArrayList<String> href_list = info.getHref_list();
    		if(href_list==null){//该结点不可用,回到父亲结点继续走0
    			parent_stack.pop();
    			if(!parent_stack.empty()){//不为空栈
    				searchUrl(parent_stack.peek());
    			}else{//空栈
    				System.out.println("Yir,爬虫1号已完成任务!!!");
    			}
    		}else{//结点可用
    			int size = href_list.size();
    			for(int i=0;i<size;i++){
    				String strUrl = href_list.get(i);
    				if(history_list.contains(strUrl)){//如果当前链接已经被访问过了
    					continue;
    				}
    				history_list.add(strUrl);
    				parent_stack.push(strUrl);
    				searchUrl(strUrl);	
    			}
    		}
    	}
    	
    	public static void hrefShow(String url){
    		PageInfo info = getPageInfo(url);
    		ArrayList<String> href_list = info.getHref_list();
    		int size = href_list.size();
    		for(int i=0;i<size;i++){
    			System.out.println(href_list.get(i));
    		}
    	}
    	
    }
    
    
    
    


    有兴趣的童鞋可以到这里下载工程代码:

    http://download.csdn.net/detail/u011700203/8410597







    展开全文
  • 6.8.2 CLR版本的计算器程序 287 6.9 小结 293 6.10 练习 293 第7章 自定义数据类型 295 7.1 C++中结构 295 7.1.1 结构概念 296 7.1.2 定义结构 296 7.1.3 初始化结构 296 7.1.4 访问结构成员...
  • 他是ATOMS事务架构专利(美国专利#7206805和#7290056)发明者,这些专利已经转让给Oracle公司。  John M.Harper在过去11年多时间里一直从事数据库相关工作,主要方向是Oracle管理、模式设计、PL/SQL和信息质量.a...
  • 我很庆幸自己之前已经比较熟练使用VC和Java了,整个C#入门用了不到半个小时,而从初次接触C#到开发这个QQ自动登录器也只用了短短几个小时,下面,我就给大家讲讲如何用C#开发一个QQ自动登录器,让大家真正体会到...
  • 该资料是《Oracle SQL高级编程》代码 对应书籍资料见: Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐) 基本信息 原书名: Pro Oracle SQL 原出版社: Apress 作者: (美)Karen Morton Kerry ...
  • 发送端发送了1,2,3,4,5几个包,然后收到远端ACK: 1, 3, 4, 5,当收到ACK3时,KCP知道2被跳过1次,收到ACK4时,知道2被跳过了2次,此时可以认为2丢失,不用等超时,直接重传2包,大大改善了丢包时传输速度。...
  • Egret 童话 与 现实

    2021-01-03 14:33:25
    也没那种影响力去改变已经发布到1.5版本的Egret。 - 我们在谈论一件事时,其实很难把『人』因素完全剥离开,所以『对事不对人』这种说法根本是异想天开。我说每一句话都可能因事而伤人,先说...
  • java 后台集成极光推送Demo新接手项目有消息推送模块,app端同事说要使用极光推送,需要后台这边集成极光推送,以前没有使用过极光推送,所以一开始还是有点不知道如何下手,集成过程也是出现一些问题,一直弄了几...
  • .sslpv(SSLProtocolVersion.TLSv1_2) //设置ssl版本号,默认SSLv3,也可以调用sslpv("TLSv1.2") .ssl() //https,支持自定义ssl证书路径和密码,ssl(String keyStorePath, String keyStorepass) ...
  • 推荐 在线阅读 (Github 访问速度比较慢可能会导致部分图片无法刷新出来) ...《Java 面试突击》: 由本文档衍生专为面试而生Java 面试突击》V4.0 PDF 版本公众号后台回复 "面试突击" 即可领取!

空空如也

空空如也

1 2 3 4
收藏数 68
精华内容 27
关键字:

如何知道java代码的版本号

java 订阅