一、导出word表第一步先用word表画出要导出的word表的样式如上图
然后另存为xml格式、控制层代码如下
/**
* 导出单个word
*/
@RequestMapping(value = "exportDoc")
public void exportDoc(String ids, HttpServletRequest request, HttpServletResponse response,
RedirectAttributes redirectAttributes) {
String docFileName = IdGen.uuid();
String directory =FileUtils.path(Global.getUserfilesBaseDir() + "\\resources\\download\\" + docFileName);
String zipDirectory =FileUtils.path(Global.getUserfilesBaseDir() + "\\resources\\download\\" + DateUtils.getDate("yyyyMMddHHmmss")+"docs");
try {
List<Ydkh> ydkhs = ydkhService.findListByIds(ids);
Map<String,Object> map = new HashMap<String, Object>();
for (Ydkh ydkh : ydkhs) {
String date = DateFormatUtils.format(ydkh.getKhendtime(), "yyyy年MM月");
String fileName = "月度考核"+ydkh.getUser().getName()+date+".doc";
map.put("ydkh", ydkh);
String title = date + DictUtils.getDictLabel(ydkh.getUser().getZw(), "zw_type", "") + "考核表";
map.put("title", title);
Lhzbkh lhzbkh = new Lhzbkh();
lhzbkh.setKhqj(ydkh.getKhqj());
lhzbkh.setUser(ydkh.getUser());
List<Lhzbkh> LhzbkhList = lhzbkhService.findList(lhzbkh);
if (LhzbkhList != null && !LhzbkhList.isEmpty()) {
lhzbkh = LhzbkhList.get(0);
}
map.put("lhzbkh", lhzbkh);
Gzxs gzxs = new Gzxs();
gzxs.setLhzbkh(lhzbkh );
gzxs.setTjStatus("1");
List<Gzxs> gzxsList = gzxsService.findList(gzxs);
for (Gzxs gzxs1:gzxsList) {
gzxs1.setGznr(Encodes.unescapeHtml(gzxs1.getGznr()));
}
map.put("gzxsList", gzxsList);
FileUtils.createDirectory(directory);
new DocUtil().newCreateRdoc(map, "ydkh2",fileName,directory);
}
ZipUtil zip = new ZipUtil();
zipDirectory = zipDirectory.substring(0,zipDirectory.length()-1)+".zip";
zip.compress(directory, zipDirectory, "GBK", "");
try {
// path是指欲下载的文件的路径。
File file = new File(zipDirectory);
// 取得文件名。
String filename = file.getName();
// 取得文件的后缀名。
String ext = filename.substring(file