一个项目为了测试需要模拟3000条域用户,将数据保存在Excel表格,然后导入到与服务器里。

我们今天要做的是自动生成3000条数据,并将这些数据保存在excel表格里面。

需要jar包:poi-3.17.jar

定义属性:

/**
* 域账户需要的字段名
* @author
*
*/
public class UserBean { private String DN;
private String objectClass;
private String distinguishedName;
private String name;
private String title;
private String givenName;
private String displayName;
private String sAMAccountName;
private String userPrincipalName; public UserBean(String dN, String objectClass, String distinguishedName, String name, String title,
String givenName, String displayName, String sAMAccountName, String userPrincipalName) {
super();
DN = dN;
this.objectClass = objectClass;
this.distinguishedName = distinguishedName;
this.name = name;
this.title = title;
this.givenName = givenName;
this.displayName = displayName;
this.sAMAccountName = sAMAccountName;
this.userPrincipalName = userPrincipalName;
}
public String getDN() {
return DN;
}
public void setDN(String dN) {
DN = dN;
}
public String getObjectClass() {
return objectClass;
}
public void setObjectClass(String objectClass) {
this.objectClass = objectClass;
}
public String getDistinguishedName() {
return distinguishedName;
}
public void setDistinguishedName(String distinguishedName) {
this.distinguishedName = distinguishedName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getGivenName() {
return givenName;
}
public void setGivenName(String givenName) {
this.givenName = givenName;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public String getsAMAccountName() {
return sAMAccountName;
}
public void setsAMAccountName(String sAMAccountName) {
this.sAMAccountName = sAMAccountName;
}
public String getUserPrincipalName() {
return userPrincipalName;
}
public void setUserPrincipalName(String userPrincipalName) {
this.userPrincipalName = userPrincipalName;
} }

生成随机数据并插入到Excel中:

import java.io.FileOutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class UserAccount { public static void main(String[] args){
//创建workbook
HSSFWorkbook workbook = new HSSFWorkbook();
//创建sheet
HSSFSheet sheet = workbook.createSheet("域账户");
//创建行row:添加表头0行
HSSFRow row = sheet.createRow(0);
HSSFCellStyle style = workbook.createCellStyle();
//style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//创建单元格
HSSFCell cell = row.createCell(0);//第一个单元格
cell.setCellValue("DN");//设定值 cell = row.createCell(1);
cell.setCellValue("objectClass"); cell = row.createCell(2);
cell.setCellValue("distinguishedName"); cell = row.createCell(3);
cell.setCellValue("name"); cell = row.createCell(4);
cell.setCellValue("title"); cell = row.createCell(5);
cell.setCellValue("givenName"); cell = row.createCell(6);
cell.setCellValue("displayName"); cell = row.createCell(7);
cell.setCellValue("sAMAccountName"); cell = row.createCell(8);
cell.setCellValue("userPrincipalName");
//插入数据
List<UserBean> list = UserAccount.getUser();
for(int i=0;i<list.size();i++){
UserBean userBean = list.get(i);
//创建行
row = sheet.createRow(i+1);
//创建单元并添加数据
row.createCell(0).setCellValue(userBean.getDN());
row.createCell(1).setCellValue(userBean.getObjectClass());
row.createCell(2).setCellValue(userBean.getDistinguishedName());
row.createCell(3).setCellValue(userBean.getName());
row.createCell(4).setCellValue(userBean.getTitle());
row.createCell(5).setCellValue(userBean.getGivenName());
row.createCell(6).setCellValue(userBean.getDisplayName());
row.createCell(7).setCellValue(userBean.getsAMAccountName());
row.createCell(8).setCellValue(userBean.getUserPrincipalName()); }
//生成Excel文件并保存在指定的路径中
try {
FileOutputStream fileOutputStream = new FileOutputStream("c:\\yuAccount.xls");
workbook.write(fileOutputStream);
fileOutputStream.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} System.out.println("生成成功!!");
}
//将数据存在List集合里
public static List<UserBean> getUser(){
List<UserBean> list = new ArrayList<UserBean>();
//String names = null;
for(int i=0;i<500;i++){ //String names = UserAccount.getRandomCharAndNumr(5);
String names = UserAccount.getRandomChar();
String name1 = UserAccount.getRandomChar();
String dN = "CN="+names+name1+",OU=Test,DC=fengtian,DC=com";
String objectClass = "user";
String distinguishedName = "CN="+names+name1+",OU=Test,DC=fengtian,DC=com";
String name = names+name1;
String title = "课长";
String givenName = names+name1;
String displayName = names+name1;
String sAMAccountName = names+name1;
String userPrincipalName = names+name1+"@fengtian.com"; UserBean user1 = new UserBean(dN, objectClass, distinguishedName, name, title, givenName, displayName, sAMAccountName, userPrincipalName); list.add(user1);
} // String dN = "CN="+names+",OU=Test,DC=fengtian,DC=com";
// String objectClass = "user";
// String distinguishedName = "CN="+names+",OU=Test,DC=fengtian,DC=com";
// String name = names;
// String title = "组长";
// String givenName = names;
// String displayName = names;
// String sAMAccountName = names;
// String userPrincipalName = names+"@fengtian.com";
//
//
// UserBean user1 = new UserBean(dN, objectClass, distinguishedName, name, title, givenName, displayName, sAMAccountName, userPrincipalName);
//
// list.add(user1); return list; }
/**
* 获取随机的字母和数字组合
* @param 想要的字符串的长度
* @return 字母和数字组合的字符串
*/ public static String getRandomCharAndNumr(Integer length) {
String str = "";
Random random = new Random();
for (int i = 0; i < length; i++) {
boolean b = random.nextBoolean();
if (b) { // 字符串
// int choice = random.nextBoolean() ? 65 : 97; 取得65大写字母还是97小写字母
str += (char) (65 + random.nextInt(26));// 取得大写字母
} else { // 数字
str += String.valueOf(random.nextInt(10));
}
}
return str;
} /**
* 生成随机的常见的汉字
* @return 生成的随机常见的汉字
*/
public static String getRandomChar() {
String str = "";
int highCode;
int lowCode; Random random = new Random(); highCode = (176 + Math.abs(random.nextInt(39))); //B0 + 0~39(16~55) 一级汉字所占区
lowCode = (161 + Math.abs(random.nextInt(93))); //A1 + 0~93 每区有94个汉字 byte[] b = new byte[2];
b[0] = (Integer.valueOf(highCode)).byteValue();
b[1] = (Integer.valueOf(lowCode)).byteValue(); try {
str = new String(b, "GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return str;
}
}

java代码生成Excel文件3000条自定义属性的的域账户名的更多相关文章

  1. java写入excel文件poi

    java写入excel文件 java写入excel文件poi,支持xlsx与xls,没有文件自动创建 package com.utils; import java.io.File; import ja ...

  2. Java读取Excel文件的几种方法

    Java读取 Excel 文件的常用开源免费方法有以下几种: 1. JDBC-ODBC Excel Driver 2. jxl.jar 3. jcom.jar 4. poi.jar 简单介绍: 百度文 ...

  3. java读取excel文件的代码

    如下内容段是关于java读取excel文件的内容,应该能对各朋友有所用途. package com.zsmj.utilit; import java.io.FileInputStream;import ...

  4. 关于解决java读取excel文件遇空行抛空指针的问题 !

    关于解决java读取excel文件遇空行抛空指针的问题 ! package exceRead; import java.io.File; import java.io.FileInputStream; ...

  5. JXL包大解析;Java程序生成excel文件和解析excel文件内容

    最近需求变化,需要把excel导入 我以前没有做过,所以我查了一些资料 和参考别人的代码 以下是多种方式: import java.io.File; import java.io.FileInputS ...

  6. C++读写EXCEL文件OLE,java读写excel文件POI 对比

    C++读写EXCEL文件方式比较 有些朋友问代码的问题,将OLE读写的代码分享在这个地方,大家请自己看.http://www.cnblogs.com/destim/p/5476915.html C++ ...

  7. java分割excel文件可用jxl

    excel导入是经常使用到的功能,如果文件数据量大的话还是建议分割后导入,java常用的API是poi和jxl,我采用的是jxl,那么让我们来看下怎么用jxl来实现分割. 需要在pom中导入jxl的包 ...

  8. [转载]Java操作Excel文件的两种方案

    微软在桌面系统上的成功,令我们不得不大量使用它的办公产品,如:Word,Excel.时至今日,它的源代码仍然不公开已封锁了我们的进一步应用和开发.在我们实际开发企业办公系统的过程中,常常有客户这样子要 ...

  9. Java 导入Excel文件到数据库

    原文:http://www.jb51.net/article/44021.htm 项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两 ...

随机推荐

  1. 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法

    一. 背景 上一个章节,介绍了EF调用两类SQL语句,主要是借助 ExecuteSqlCommand  和 SqlQuery 两个方法来完成,在本章节主要是复习几类存储过程的写法和对应的EF调用这几类 ...

  2. [再寄小读者之数学篇](2014-06-23 Hardy 空间、BMO空间与 Triebel-Lizorkin 空间)

    $$\bex 0<p<\infty\ra H_p=\dot F^0_{p,2};\quad BMO=\dot F^0_{\infty,2}. \eex$$ see [H. Triebel, ...

  3. XSS攻击常识及常见的XSS攻击脚本汇总

    一.什么是XSS? XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了. 这里我们主要注 ...

  4. 本地图片上传与H5适配知识

    最近用到本地图片上传作为API的参数,在网上看了许多,记录一下,以后可能用的着(仅自己记录用,看不清请绕路) function getObjectURL(file) { var url = null ...

  5. salt软件远程控制服务器

    1.salt安装服务器环境 准备2台机器 192.168.11.250 master端(主人) 192.168.11.167 minion端 (奴隶 ) 2.两台机器配置hosts文件,用于加速域名解 ...

  6. centos添加开放端口

    Centos 开放 80 端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 重启防火墙 firewall-cmd --reload ...

  7. Problem B: Battle Royale(简单几何)

     题目链接: B - Battle Royale  Gym - 102021B 题目大意:给你两个坐标,表示起点和终点,然后给你两个圆,第一个圆包含两个圆,然后问你起点到终点的最短距离(不经过第二个圆 ...

  8. 微信app支付的坑

    app支付商户申请,需注册并认证开放平台账号后电脑端登录开放平台官网:open.weixin.qq.com,[管理中心]->[移动应用],选择需要申请支付的应用,点击[查看]->[微信支付 ...

  9. java 面经

    1.什么是Java虚拟机(JVM)?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. ...

  10. 关于TabLayout与ViewPager在Fragment中嵌套Fragment使用或配合使用的思考

    注意: 因为继承的是Fragment,所以getSupportFragmentManager()与getFragmentManager()方法无法使用,这里需要用到getChildFragmentMa ...