java代码生成Excel文件3000条自定义属性的的域账户名
一个项目为了测试需要模拟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条自定义属性的的域账户名的更多相关文章
- java写入excel文件poi
java写入excel文件 java写入excel文件poi,支持xlsx与xls,没有文件自动创建 package com.utils; import java.io.File; import ja ...
- Java读取Excel文件的几种方法
Java读取 Excel 文件的常用开源免费方法有以下几种: 1. JDBC-ODBC Excel Driver 2. jxl.jar 3. jcom.jar 4. poi.jar 简单介绍: 百度文 ...
- java读取excel文件的代码
如下内容段是关于java读取excel文件的内容,应该能对各朋友有所用途. package com.zsmj.utilit; import java.io.FileInputStream;import ...
- 关于解决java读取excel文件遇空行抛空指针的问题 !
关于解决java读取excel文件遇空行抛空指针的问题 ! package exceRead; import java.io.File; import java.io.FileInputStream; ...
- JXL包大解析;Java程序生成excel文件和解析excel文件内容
最近需求变化,需要把excel导入 我以前没有做过,所以我查了一些资料 和参考别人的代码 以下是多种方式: import java.io.File; import java.io.FileInputS ...
- C++读写EXCEL文件OLE,java读写excel文件POI 对比
C++读写EXCEL文件方式比较 有些朋友问代码的问题,将OLE读写的代码分享在这个地方,大家请自己看.http://www.cnblogs.com/destim/p/5476915.html C++ ...
- java分割excel文件可用jxl
excel导入是经常使用到的功能,如果文件数据量大的话还是建议分割后导入,java常用的API是poi和jxl,我采用的是jxl,那么让我们来看下怎么用jxl来实现分割. 需要在pom中导入jxl的包 ...
- [转载]Java操作Excel文件的两种方案
微软在桌面系统上的成功,令我们不得不大量使用它的办公产品,如:Word,Excel.时至今日,它的源代码仍然不公开已封锁了我们的进一步应用和开发.在我们实际开发企业办公系统的过程中,常常有客户这样子要 ...
- Java 导入Excel文件到数据库
原文:http://www.jb51.net/article/44021.htm 项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两 ...
随机推荐
- 第七节:语法总结(1)(自动属性、out参数、对象初始化器、var和dynamic等)
一. 语法糖简介 语法糖也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方 ...
- C++ 实现简单命令行学生管理系统
C++ 实现简单命令行学生管理系统 预览: 编译环境是macOS.system("clear") 在windows下请换成 system("cls") #inc ...
- spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一)
最近在学习的时候,发现微服务架构中,假如只有一个注册中心,那这个注册中心挂了可怎么办,这样的系统,既不安全,稳定性也不好,网上和书上找了一会,发现这个spring cloud早就想到了,并帮我们解决了 ...
- JSON 之 SuperObject(11): TSuperTableString、TSuperAvlEntry
JSON 之 SuperObject(11): TSuperTableString.TSuperAvlEntry - 万一 - 博客园http://www.cnblogs.com/del/archiv ...
- innobackupex的流备份【转】
并行备份 innobackupex -p123123 --parallel= /backup 节流备份(节省IO) innobackupex -p123123 --throttle= /backup ...
- Jmeter学习笔记03-元件作用域及执行顺序
Jmeter可以通过鼠标拖拽来随意改变元件之间的顺序以及元件的层级关系,随着元件所在域的不同,在执行时候,会有不同效果 层级关系和元件类型决定了在测试计划中各元件的执行顺序. 1)元件的作用域: jm ...
- LMerge-github
ILMerge ILMerge是一个将多个.NET程序集合并到一个程序集中的实用程序.它可以免费使用,并以NuGet包的形式提供. 如果您在使用它时遇到任何问题,请与我们联系.(mbarnett at ...
- Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法
Linux 出现telnet: connect to address 127.0.0.1: Connection refused错误解决办法 没有xinetd服务: 1./etc/init.d目录中放 ...
- 进入django
web应用,c/s,b/s架构 c/s: 客户端 服务端 b/s: 浏览器 服务器 HTTP协议: 超文本传输协议 四大特性: 1.基于TCP/IP作用在应用层之上的协议 2.基于请求响应 3.无状态 ...
- Python开发【第十篇】:模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...