根据XML配置规则导入Excel数据(七)测试

简介:
  测试代码
 
 
package com.randy; 

import java.io.InputStream; 
import java.util.Iterator; 
import java.util.List; 
import java.util.Map; 

import junit.framework.TestCase; 

import org.apache.commons.beanutils.PropertyUtils; 

import com.ivfly.xlsbean.BeanSpecification; 
import com.ivfly.xlsbean.BeansSpecification; 
import com.ivfly.xlsbean.ExcelAble; 
import com.ivfly.xlsbean.ExcelReader; 
import com.ivfly.xlsbean.test.Bean; 

public  class Test  extends TestCase { 
   public  void test1(){ 
    String xlsdir=ClassLoader.getSystemResource( "com/ivfly/xlsbean/test/").getPath(); 
     //根据配置文件获得描述 
    InputStream xmlStream = ClassLoader.getSystemResourceAsStream( "com/ivfly/xlsbean/test/bean.xml"); 
    BeansSpecification beans = BeansSpecification.getInstance(xmlStream); 
    BeanSpecification bean = beans.getBeanByClassName(Bean. class.getName()); 
    List<ExcelAble> list = ExcelReader.parseXls2Beans(bean,xlsdir, "测试用户数据.xls"); 
    List<String> pl = bean.getPropertyList(); 
    Map<String,String> head = bean.getNv(); 
    Iterator<String> iter = head.keySet().iterator(); 
     while(iter.hasNext()){ 
      String key = iter.next(); 
      String value = head.get(key); 
      System.out.print( "|"+value+""); 
    } 
     
    System.out.println( "---------------------"); 
     for(ExcelAble o : list){ 
       if(!o.isCheck()){ 
         continue
      } 
       for(String p : pl){ 
         try { 
          Object value =  null
          value =PropertyUtils.getProperty(o,p); 
          System.out.print( "|p="+p+ ";v="+value+""); 
        }  catch (Exception e) { 
          e.printStackTrace(); 
        }    
         
         
      } 
//      while(iter2.hasNext()){ 
//        String key = iter2.next(); 
//        Object value = null; 
//        try { 
//          value =PropertyUtils.getProperty(o,key); 
//        } catch (Exception e) { 
//          e.printStackTrace(); 
//        }    
//        System.out.print("|"+value+""); 
        
//      }     
      System.out.println(); 
    } 
     
     
     for(ExcelAble o : list){ 
       if(!o.isCheck()){ 
        System.out.println(o.getMessage()); 
      }        
    } 
  } 

 
 
结果
 
|编号|用户名|QQ号|年龄|出生日期--------------------- 
|p=id;v=wl002|p=name;v=null|p=qq;v=20316558|p=age;v=23|p=birthDate;v=Fri Dec 23 00:00:00 CST 2011 
第4行数据:年龄 数据格式不正确 

第6行数据:年龄 数据格式不正确 

Excel数据
 
最后。
这是自己在元旦假期,闲来无事。花了一整天的时间,研究的结果。
比较仓促。还存在一些问题。比如:
1.这只是针对列表的导入
2.如果是对单个对象的导入则不支持
3.没有字符串长度的验证
4.只是简单验证了下年龄有效性的验证,其他的均没有验证。
5.时间的导入,是否支持多种类型
7.没有提供字典信息编码的支持。
 
以后自己再慢慢 丰富吧。
今天自己又复习了下
Digester
BeanUtils
lang
 


本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/756541,如需转载请自行联系原作者
相关文章
|
18天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
2月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
139 4
|
3月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
50 1
|
1月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
95 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
4月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
51 0
|
2月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
75 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
2月前
|
XML Web App开发 数据格式
HTML 页面显示 XML 数据
10月更文挑战第2天
|
2月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
526 0
|
3月前
|
数据采集 存储 数据挖掘
使用Python读取Excel数据
本文介绍了如何使用Python的`pandas`库读取和操作Excel文件。首先,需要安装`pandas`和`openpyxl`库。接着,通过`read_excel`函数读取Excel数据,并展示了读取特定工作表、查看数据以及计算平均值等操作。此外,还介绍了选择特定列、筛选数据和数据清洗等常用操作。`pandas`是一个强大且易用的工具,适用于日常数据处理工作。