引用第三方jar包:

      poi-3.9.jar  poi核心包

 String htmlContent = "";//这是用来存储html页面的字符串  
try {
//request.setCharacterEncoding("UTF-8");
 
List<DataRow> dataList = resultVo.getResults();
//从数据库里面查询出来了数据
if(dataList != null && dataList.size()>0){
DataRow dr = dataList.get(0);
String name = dr.getString("name");//应聘人姓名
String academic = dr.getString("academic");//学历
String school = dr.getString("school");//毕业院校
String profession = dr.getString("profession");//所学专业
String work_address = dr.getString("work_address");//工作地点
String recruit_name = dr.getString("recruit_name");//职位名称
String birthdate = dr.getString("birthdate");//职位名称
String telephone = dr.getString("telephone");//手机号码
String email = dr.getString("email");//电子邮箱
String expected_salary = dr.getString("expected_salary");//期望薪资
String personal_img = dr.getString("expected_salary");//个人照片
//从数据库中获得数据,将oracle中的clob数据类型转换成string类型  
/* Method method = dr.get("skill").getClass().getMethod("getVendorObj",new Class[]{});  
CLOB skill = (CLOB)method.invoke(dr.get("skill"));  
String skillStr  = skill.getSubString((long) 1, (int) skill.length());*///个人技能
String skillStr = dr.getString("skill");

//获取根目录
String rootPath = Application.getRootPath();
String newRootPath = rootPath.replace("\\", "/");
newRootPath = newRootPath.substring(0, newRootPath.length()-1);
//正式形成一个html
htmlContent += "<html>";//拼接注意加上<html>  
htmlContent += "<head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'/></head><body>";
htmlContent += "<div style='width: 593px; font-size: 24px; font-weight: bold; margin-top: 5px'>应聘人员简历</div>";
htmlContent += "<div style='width: 593px; margin-top: 10px'>";
htmlContent += "<span style='font-size: 12px; font-weight: bold; text-align: center;'>工作地点:&nbsp;"+work_address+"&nbsp;&nbsp;&nbsp;</span>";
htmlContent += "<span style='font-size: 12px; font-weight: bold; text-align: center;'>工作岗位:&nbsp;"+recruit_name+"</span></div>";
htmlContent += "<table style='width: 593px; margin-top:20px' border='1px solid;'>";
htmlContent += "<tr><td style='width: 106px; height: 40px; text-align: center; font-size: 12px; font-weight: bold;'>姓&nbsp;&nbsp;名:</td>";
htmlContent += "<td style='width: 135px; height: 40px; text-align: left; font-size: 12px;'>&nbsp;"+name+"</td>";
htmlContent += "<td style='width: 106px; height: 40px; text-align: center; font-size: 12px; font-weight: bold;'>学&nbsp;&nbsp;历:</td>";
htmlContent += "<td style='width: 96px; height: 40px; text-align: left; font-size: 12px;'>&nbsp;"+academic+"</td>";
htmlContent += "<td style='width: 146px' rowspan='4'><img src='"+(newRootPath+personal_img)+"' style='width:146px; height: 160px'/></td> </tr>";
htmlContent += "<tr><td style='width: 106px; height: 40px; text-align: center; font-size: 12px; font-weight: bold;'>毕业院校:</td>";
htmlContent += "<td style='width: 135px; height: 40px; text-align: left; font-size: 12px;'>&nbsp;"+school+"</td>";
htmlContent += "<td style='width: 106px; height: 40px; text-align: center; font-size: 12px; font-weight: bold;'>联系电话:</td>";
htmlContent += " <td style='width: 96px; height: 40px; text-align: left; font-size: 12px;'>&nbsp;"+telephone+"</td></tr>";
htmlContent += "<tr><td style='width: 106px; height: 40px; text-align: center; font-size: 12px; font-weight: bold;'>专&nbsp;&nbsp;业:</td>";
htmlContent += "<td style='width: 135px; height: 40px; text-align: left; font-size: 12px;'>&nbsp;"+profession+"</td>";
htmlContent += "<td style='width: 106px; height: 40px; text-align: center; font-size: 12px; font-weight: bold;'>电子邮箱:</td>";
htmlContent += " <td style='width: 96px; height: 40px; text-align: left; font-size: 12px;'>&nbsp;"+email+"</td></tr>";
htmlContent += "<tr><td style='width: 106px; height: 40px; text-align: center; font-size: 12px; font-weight: bold;'>出生日期:</td>";
htmlContent += "<td style='width: 135px; height: 40px; text-align: left; font-size: 12px;'>&nbsp;"+birthdate+"</td>";
htmlContent += "<td style='width: 106px; height: 40px; text-align: center; font-size: 12px; font-weight: bold;'>期望薪资:</td>";
htmlContent += " <td style='width: 96px; height: 40px; text-align: left; font-size: 12px;'>&nbsp;"+expected_salary+"</td></tr>";
htmlContent += "<tr><td colspan='5' style='text-align: left; font-size: 18px; font-weight: bold; height: 40px;'>工作经历</td></tr>";
htmlContent += "<tr><td colspan='5'><div style='text-align: left; font-size: 12px; height: 545px;'>"+experienceStr+"</div></td></tr>";
        //插入分页符
htmlContent += "<span style='font-size:16px;line-height:150%;mso-fareast-font-family:宋体;mso-font-kerning:1px;mso-ansi-language:EN-US;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always'></span>";  
htmlContent += "<p style='line-height:150%'><span style='font-size:16px;line-height:150%'><o:p> </o:p></span></p>";  
        
htmlContent += "<tr><td colspan='5' style='text-align: left; font-size: 18px; font-weight: bold; height: 40px;'>教育经历</td></tr>";
htmlContent += "<tr><td colspan='5'><div style='text-align: left; font-size: 12px; height: 378px;'>"+educationStr+"</div></td></tr>";
htmlContent += "<tr><td colspan='5' style='text-align: left; font-size: 18px; font-weight: bold; height: 40px;'>专业技能</td></tr>";
htmlContent += "<tr><td colspan='5'><div style='text-align: left; font-size: 12px; height: 380px;'>"+skillStr+"</div></td></tr>";
htmlContent += "</body>";
htmlContent += "</html>"; 
        
byte b[] = htmlContent.getBytes("utf-8");
ByteArrayInputStream bais = new ByteArrayInputStream(b);    
POIFSFileSystem poifs = new POIFSFileSystem();    
DirectoryEntry directory = poifs.getRoot();    
DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);    
//输出文件  
String filename = getUuid();  
response.reset();  
response.setHeader("Content-Disposition","p_w_upload;filename=" +  
            new String( (filename + ".doc").getBytes(),  
response.setContentType("application/msword;charset=UTF-8");  
//只是生成一个文件就只用这个就可以了
// OutputStream ostream = response.getOutputStream();   
//输出到本地文件的话,new一个文件流  
// OutputStreamWriter wri = new OutputStreamWriter(new FileOutputStream(newRootPath+"/exportDocs/"+filename+".doc"), "utf-8");
            FileOutputStream ostream = new FileOutputStream(newRootPath+"/exportDocs/"+filename+".doc");    
            poifs.writeFilesystem(ostream);    
            bais.close();  
            // wri.close();
           ostream.close();   
  }
} catch (Exception e) {
logger.error(e);
e.printStackTrace();
}


注意: 这种生成word 图片之类的需要以流的方式写入

     像这种table展示的话  没有边框