package export.excel;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
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;
import export.util.DBUtil;
import export.util.RandowPassword;
import export.util.Util;
/**
* 账号分配
* @author nan
*
*/
public class CreateSimpleExcelToDisk {
@SuppressWarnings("deprecation")
public static void main(String[] args) throws SQLException {
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("导出账号一");
sheet.setColumnWidth(0, 2000);
sheet.setColumnWidth(1, 7500);
sheet.setColumnWidth(2, 3500);
sheet.setColumnWidth(3, 6500);
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue("序号");
cell.setCellStyle(style);
cell = row.createCell((short) 1);
cell.setCellValue("团组");
cell.setCellStyle(style);
cell = row.createCell((short) 2);
cell.setCellValue("用户名");
cell.setCellStyle(style);
cell = row.createCell((short) 3);
cell.setCellValue("密码");
cell.setCellStyle(style);
// 第五步,写入实体数据 实际应用中这些数据从数据库得到,
Connection conn = null;
PreparedStatement psrt = null;
conn = DBUtil.getConn();
ResultSet rs = null;
String sql = "select t.teamname,u.username,u.password from T_TEAM t,T_USER u where t.userid = u.userid order by u.username";
//String sql = "select t.teamname,u.username,u.password from T_TEAM t,T_USER u where t.userid = u.userid and u.username like 'GXJVJT'";
System.out.println(sql);
psrt = conn.prepareStatement(sql);
rs = psrt.executeQuery();
int count = 1;
while(rs.next()){
//System.out.println(rs.getString("teamname")+"--"+rs.getString("username")+"--"+rs.getString("password"));
//1 产生新密码
String password = RandowPassword.getRandomString(6);
System.out.println(password);
String newPassword = Util.md5(password);
String updateSql = "update T_USER u set u.password = "+"'"+newPassword+"'"+" where u.username like "+"'"+rs.getString("username")+"'";
System.out.println(updateSql);
psrt = conn.prepareStatement(updateSql);
int i = psrt.executeUpdate();
// 第四步,创建单元格,并设置值
if(i>0){
System.out.println("更新成功");
row = sheet.createRow((int) count );
row.createCell(0).setCellValue((double)count);
row.createCell(1).setCellValue(rs.getString("teamname"));
row.createCell(2).setCellValue(rs.getString("username"));
row.createCell(3).setCellValue(password);
//cell = row.createCell((short) 3);
}else{
System.out.println("更新失败");
}
System.out.println(count);
psrt.close();
count ++;
}
// 第六步,将文件存到指定位置
try
{
FileOutputStream fout = new FileOutputStream("E:/账号导出.xls");
wb.write(fout);
fout.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void closeCon(PreparedStatement ps,Connection conn) throws SQLException{
if(ps!=null){
ps.close();
}
if(conn!=null){
conn.close();
}
}
}
java 导出excel
最新推荐文章于 2024-10-16 10:13:45 发布