java把数据写入Excel表格中

本文介绍了一种利用Java+Selenium+Jxl工具从一个测试环境获取配置数据并写入Excel的方法,随后将这些配置数据导入到另一个测试环境的过程。文中详细展示了如何从Web页面抓取数据并将其写入Excel表格的具体实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于有两个测试环境,有时候涉及到从这个测试环境把配置数据移到另外个环境。可以从数据库直接操作,但是为了练java+selenium+jxl,所以我从web页面上进行操作。思路如下:

1.从这个测试环境中获取配置,并写入Excel表格;

2.进入到另外一个测试环境,通过页面的新增功能,逐条读取Excel表格中的数据,并新增。

相关代码段如下:

写Excel文件的代码:

/**
			 * //向Excel表格写入页面table中的数据
			 * @param className
			 * @param driver
			 * @param table
			 * @param refreshElement
			 */
			
			public static void outPutFromTable(String className,WebDriver driver,WebElement table,String refreshElement){
				//获取类名为工作薄名
				String excelName = getClassToExcelName(className);
				//获取方法名为工作表名
				String sheetName = Common.getRunFromCallFunc();
				//先获取表头列名
				List titleNames = ElementOperater.getTableTitleName(driver);
				//获取表格内容
				List<String> contentName = ElementOperater.getPageTableContent(driver, table, refreshElement);
				
				try {
					WritableWorkbook wk = Workbook.createWorkbook(new File(excelName+".xls"));//创建一个工作薄
					WritableSheet st = wk.createSheet(sheetName, 0);//创建一个工作表
					Label lab = null;
					for(int r=0;r<contentName.size();r++){//根据表格中的内容循环

						for(int c=0;c<titleNames.size();c++){//根据表头的列数循环
							if(r==0&&c<titleNames.size()){//如果是第一行,并且列数小于列的长度
								lab = new Label(c,r,(String)titleNames.get(c));//创建第c列第r行的Label对象
								try {
									st.addCell(lab);//把label对象添加入表sheet的单元格
								} catch (WriteException e) {
									e.printStackTrace();
								}
							}else{
								lab = new Label(c,r,(String)contentName.get(c));
								try {
									st.addCell(lab);
								} catch (WriteException e) {
									e.printStackTrace();
								} 
							}
						}
					}
					try {
						wk.write();//写入
						wk.close();//关闭
					} catch (WriteException e) {
						e.printStackTrace();
					}
				} catch (FileNotFoundException e) {
					e.printStackTrace();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}

读取Excel的代码参考另一篇博文

https://my.oschina.net/bysu/blog/832256

转载于:https://my.oschina.net/bysu/blog/838361

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值