一个项目为了测试需要模拟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. A fine property of the non-empty countable dense-in-self set in the real line

    A fine property of the non-empty countable dense-in-self set in the real line   Zujin Zhang School o ...

  2. JavaScript 的正则也有单行模式了

    正则表达式最早是由 Ken Thompson 于 1970 年在他改进过的 QED 编辑器里实现的,正则里最简单的元字符 “.” 在当时所匹配的就是除换行符外的任意字符: "." ...

  3. Django 内置分页器

    先导入Django内置的分页器 在商品列表页或者购物车列表页导入 在渲染list.html导入 然后在views后台渲染方法写入 打开list页面结果

  4. 前端基础之jQuery

    JavaScript和jQuery的区别 JavaScript是一门编程语言,我们用它来编写客户端浏览器脚本 jQuery是javascript的一个库,包含多个可重用的函数,用来辅助我们简化java ...

  5. 干货分享:让你分分钟学会 javascript 闭包(转)

    闭包,是javascript中独有的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述,直 ...

  6. HDMI接口之HPD(热拔插)

    HDMI (Pin 19)/DVI(Pin16)的功能是热插拔检测(HPD),这个信号将作为HDMI 源端(Source)是否发起EDID读,是否开始发送TMDS信号的依据.HPD是从HDMI显示器端 ...

  7. LaTeX技巧892: Ubuntu 安装新版本TeXLive并更新

    原文地址:http://www.latexstudio.net/archives/9788.html 摘要: 本文比较系统地介绍了在Ubuntu下的TeXLive的安装与配置测试过程,建议使用Ubun ...

  8. Android串口通信(Android Studio)

    gilhub上已有开源项目: https://github.com/cepr/android-serialport-api 可以直接使用

  9. Js的那些事

    先说说  var array = new Array(10); 和 var array = Array.apply(null, {length:10});这两个有啥区别,乍一看两个都是生成长度是10的 ...

  10. 克隆虚拟机+Linux互相登录+秘钥认证(四)

    1.虚拟机右键管理_克隆 修改虚拟机名称后完成! 2.开机启动虚拟机 随时保存快照 3.开启两台虚拟机,进行互相登录切换!(W命令查看系统负载) 补充: IP登录: ssh IP: 例如:ssh 19 ...