产品经理:系统上显示职员的姓名,年龄,工作照等信息。老板想把他们打印出来,做成简历并且不能是pdf必须是word
项目经理:工作都忙不完,他咋一天天事这么多
开发: 分分钟给他搞定吧,小事!
框架 vue+springboot
- vue代码
导出(word)
- js代码
import {exportWord} from '@/api/export.js'
printWord(){
let exportName = "导出此word.doc";
exportWord({code:this.code}).then((result) => {
let blob = new Blob([result], {
type: "application/vnd.ms-excel"
});
if ('download' in document.createElement('a')) {
const link = document.createElement('a');
link.style.display = "none";
link.href = URL.createObjectURL(blob);
link.setAttribute("download", exportName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
} else {
navigator.msSaveBlob(blob, exportName);
}
this.cancel();
})
},
- export. js
//导出word
export const exportWord = params => {
return axios.post('export/exportWord', params).then(res => res.data);
};
- controller
@Controller
@ResponseBody
@RequestMapping("/export")
public class ExportController extends baseController {
@Autowired
ExportApplication exportApplication;
// 用途说明: 导出word
@PostMapping(value = "/exportWord")
public void exportWord() {
try {
exportApplication.exportWord();
} catch (Exception e) {
e.printStackTrace();
}
}
}
- application
public interface ExportApplication {
void exportWord();
}
- applicationImpl
@Component
@Slf4j
public class ExportApplicationImpl implements ExportApplication {
@Override
public void exportWord() {
//查询你自己的业务数据
List exportInfo = .....查询业务的方法....;
Map dataMap = new HashMap();
//familyList 是职员的家庭信息的集合,对应模板中的表格
List 


