首页 > 其他分享 >word文件

word文件

时间:2023-09-25 21:56:39浏览次数:46  
标签:文件 word File file new utf configuration out

/**
* 通用文件下载
*/
public static void commonDownLoadFile(File file, String name, HttpServletResponse response) throws IOException {
//设置以流的形式下载文件
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", "attachment;filename=" + new String(name.getBytes("utf-8"), "ISO8859-1"));
response.setContentLength((int) file.length());
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
byte[] buffer = new byte[128];
int count = 0;
while ((count = fis.read(buffer)) > 0) {
response.getOutputStream().write(buffer, 0, count);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
response.getOutputStream().flush();
response.getOutputStream().close();
fis.close();
}
}

/**
* 将xml渲染到doc
*
* @param dataMap 参数
* @param fileName 废弃暂时不用
* @param xmlFileName xml文件名称
* @return File
*/
public static File genWord2ByMap(Map<String, String> dataMap, String fileName, String xmlFileName) {
try {
Configuration configuration = new Configuration(Configuration.VERSION_2_3_23);
configuration.setDefaultEncoding("utf-8");
//这个需要部署到测试站
configuration.setClassForTemplateLoading(WordUtil.class, "/templates");
URL resource = ClassUtils.getDefaultClassLoader().getResource("");
URL url = new URL(resource.toString());
URLConnection conn = url.openConnection();
InputStream inputStream = conn.getInputStream();
File outFile = FileUtil.inputStreamToFile(inputStream, "test.doc");
Template t = configuration.getTemplate(xmlFileName, "utf-8");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"), 10240);
t.process(dataMap, out);
out.close();
System.out.println("生成成功");
return outFile;
} catch (Exception e) {
log.error(e.getMessage());
e.printStackTrace();
System.out.println("生成失败");
}
return null;
}


public static File genWordByMap(Map<String, Object> dataMap, String fileName, String xmlFileName) {
try {
Configuration configuration = new Configuration(Configuration.VERSION_2_3_23);
configuration.setDefaultEncoding("utf-8");
//这个需要部署到测试站
configuration.setClassForTemplateLoading(WordUtil.class, "/templates");
URL resource = ClassUtils.getDefaultClassLoader().getResource("");
URL url = new URL(resource.toString());
URLConnection conn = url.openConnection();
InputStream inputStream = conn.getInputStream();
File outFile = FileUtil.inputStreamToFile(inputStream, "test.doc");
Template t = configuration.getTemplate(xmlFileName, "utf-8");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"), 10240);
t.process(dataMap, out);
out.close();
System.out.println("生成成功");
return outFile;
} catch (Exception e) {
log.error(e.getMessage());
e.printStackTrace();
System.out.println("生成失败");
}
return null;
}

public static File genWord3(Map<String, Object> dataMap) {
try {
Configuration configuration = new Configuration(Configuration.VERSION_2_3_23);
configuration.setDefaultEncoding("utf-8");
//这个需要部署到测试站
configuration.setClassForTemplateLoading(WordUtil.class, "/templates");
URL resource = ClassUtils.getDefaultClassLoader().getResource("");
URL url = new URL(resource.toString());
URLConnection conn = url.openConnection();
InputStream inputStream = conn.getInputStream();
File outFile = FileUtil.inputStreamToFile(inputStream, "test.doc");
Template t = configuration.getTemplate("xxxx表.xml", "utf-8");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"), 10240);
t.process(dataMap, out);
out.close();
System.out.println("生成成功");
return outFile;
} catch (Exception e) {
log.error(e.getMessage());
e.printStackTrace();
System.out.println("生成失败");
}
return null;
}

public static MultipartFile createMfileByFile(File file) {
MultipartFile mFile = null;
try {
FileInputStream fileInputStream = new FileInputStream(file);

String fileName = file.getName();
fileName = fileName.substring((fileName.lastIndexOf("/") + 1));
mFile = new MockMultipartFile(fileName, fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
} catch (Exception e) {
log.error("封装文件出现错误:{}", e);
//e.printStackTrace();
}
return mFile;
}

@PostMapping("/test")
public R test3(HttpServletResponse response) throws IOException {
Map<String, Object> map = Maps.newHashMap();
map.put("applyOrgName", "apply.getApplyOrgName()");
map.put("applyBasis", "apply.getApplyOrgName()");
map.put("appsceneName", "apply.getApplyOrgName()");
//事项清单是列表 需要看doc怎么生成数据 暂时处理成第一个额外处理
//List<String> matterList = Lists.newArrayList("1", "222", "33333", "44445");
List<String> matterList = Lists.newArrayList("1");
map.put("matterName", matterList.get(0));

File file = WordUtil.genWord3(map);
MultipartFile multipartFile = WordUtil.createMfileByFile(file);
FileUtil.commonDownLoadFile(file, file.getName(), response);
return new R<>(multipartFile.getInputStream());
}

标签:文件,word,File,file,new,utf,configuration,out
From: https://www.cnblogs.com/wjsqqj/p/17728944.html

相关文章

  • poython文件运行模式和python控制台运行模式和Juputer运行模式
    今天学pytorch,我知道了python文件是整个代码运行,,而python控制台是一行一行的运行。而Juputer是任意代码块运行的。 ......
  • 使用Vue3+elementPlus的Tree组件实现一个拖拽文件夹管理
    目录1、前言2、分析3、实现4、踩坑4.1、拖拽辅助线的坑4.2、数据的坑4.3、限制拖拽4.4、样式调整1、前言最近在做一个文件夹管理的功能,要实现一个树状的文件夹面板。里面包含两种元素,文件夹以及文件。交互要求如下:创建、删除,重命名文件夹和文件可以拖拽,拖拽文件到文件夹中,或......
  • Word文档中左下角小横线无法删除?
    编辑完文档发现左下角有一个怎么都删不掉的小横线?解决方法选择上方工具栏中的替换,或者快捷键Ctrl+h打开替换弹窗后,查找内容中输入^f,点击替换即可成功删除那条可恶的小横线......
  • 问题处理 --- 阿里云虚拟主机存在iis短文件泄露漏洞修复
    问题原因win为了兼容dos系统默认启用了长文件名称缩写为短文件名称的功能解决方法关闭设置。这里有两种解决办法:1.如果是云服务器或硬件设备fsutilbehaviorsetdisable8dot312.如果是虚拟主机修改注册列表HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable......
  • 怎样的外发文件管理办法 能够避免文件外发泄露?
    在日常办公中,重要文件保密管理可谓“老生常谈”。但我们往往容易忽视,文件保密管理并非个体所能独立完成,在整个文件运转过程中,存在多名经手人,一人发生疏忽,则整个安全屏障都会被打破。因此,为了防止企业数据文件被随意拷贝或传输到公司外部,就有了各种防泄密办法,例如禁止U盘、禁止网......
  • [python] 调用CMD写入文件
    [python]调用CMD写入文件importosos.system('echohelloworld>>"e:\\123.txt"')print('ok')运行后,将会在e盘下生成一个名为123.txt的文本文件,文件内容为“helloworld”注:e:\123.txt中的斜线必须为双斜线,第一个斜线为转义字符。......
  • java项目开发常用配置文件模板
    mybatisconfig文件1<?xmlversion="1.0"encoding="UTF-8"?>2<!DOCTYPEconfiguration3PUBLIC"-//mybatis.org//DTDConfig3.0//EN"4"http://mybatis.org/dtd/mybatis-3-config.dtd">5......
  • OGG MA - Not Able To Log InAdmin server ERROR: User name 'oggadmin' or password
    ogg的密码文件可能会损坏需要修复就新建一个新的ogg微服务并且把密码文件考到问问题的地方进行覆盖,我觉得这个是一个bugTherecommendationistoCreateadummyMAinstallationonthesameserverordifferenttestserver.Thencopythewallet[cwallet.sso]fromthis......
  • 安卓webview开发选择照片文件
    一、介绍二、实践代码三、问题 一、介绍当需要将H5页面接入android时,会遇到选择文件的问题。如果是在web端,选择文件就会打开本地文件。而在安卓,需要先到安卓app,再到系统文件,选择完后再回到app.再回到H5页面,所以需要配置。二、代码实践1.先画界面只需要......
  • odoo 10.0配置文件
    在配置文件中加入xmlrpc=True;指定使用XML-RPC协议的IP地址,为空时表示绑定到现有IPxmlrpc_interface=;XML-RPC协议使用的TCP端口xmlrpc_port=8069可以修改ip以及端口addons_path=D:\odoo\odoo10\addons,....admin_passwd=123456db_host=127.0.0.1db_por......