首页 > 其他分享 >poi-tl导出word文档

poi-tl导出word文档

时间:2024-08-02 17:17:24浏览次数:6  
标签:fis docx word name filename tl poi response out

1、依赖:

 

2、参考博文:

https://blog.csdn.net/qq_31970227/article/details/113246795

https://www.cnblogs.com/pengdai/p/16537534.html#template%E6%A8%A1%E6%9D%BF

3、主要实现代码:

String filename = “导出文件的名字.docx”;

httpServletResponse response.setContentType("application/msword);

response.setcharacterEncoding("utf-8");

String name = URLEncoder.encode(filename,UTF-8);

response.setHeader(HttpHeaders.CONTENT_DISPISITION,"attachment; filename=\""+name+"\"; filename*=utf-8"+name);

InputStream fis = this.getClass().getClassLoader.getResourceAsStream(“templates/”+filename);

if(fis ==null){

  throw exception

}

LoopRowTableRenderPolicy rowPolicy = new LoopRowTableRenderPolicy();

Configure config = Configure.builder().bind("fishPlist",rowPolicy)    // 此处绑定数据到模版中的表格中去渲染,如果有多个列表时需加.bind("list",policy)继续绑定新列表即可

.build();

XWPFTemplatetemp = XWPFTemplatetemp.compile(fis,config).render(data);  // data为数据实体

ByteArrayOutputStream out = new ByteArrayOutputStream();

temp.write(out);

if(fis != null){fis.close();}

InputStream docx = new ByteArrayInputStream(out.toByteArray());

hutool.IoUtil.copy(docx,response.getOutputStream());

out.close();

 

标签:fis,docx,word,name,filename,tl,poi,response,out
From: https://www.cnblogs.com/blackdd/p/18338126

相关文章

  • 使用 matplotlib 对簇柱形图和折线图进行动画处理
    我正在尝试制作一个逐帧更新的动画图表,以使最终结果的每个x轴条目有两列(在年份或年份和Q之间确实有所不同,但无论哪种方式都是字符串)和一条线。|||我有两个数据框,在这种情况下我读到了帮助。df和df_line{'GDP':{'2013Q1':6.2,'2013Q2':6.1,'2013Q3':6.63,......
  • 如何旋转辅助 y 轴标签,使其不与 y 刻度、matplotlib 重叠
    我正在尝试将辅助y标签旋转到270degrees,但是当我通过rotate=270参数执行此操作时,它会与我的y刻度文本重叠。任何想法如何解决这一问题?fig,ax=plt.subplots()ax.plot(df.index,df.tripTime,label='FishingEffort',marker='D')ax......
  • Kotlin 字符串教程:深入理解与使用技巧
    Kotlin字符串字符串用于存储文本。字符串包含由双引号包围的字符集合:示例vargreeting="Hello"与Java不同,您不必指定变量是字符串。Kotlin足够智能,可以通过双引号理解上例中的greeting变量是字符串。然而,与其他数据类型一样,如果您坚持,可以指定类型:示例vargreeti......
  • wordpress站点转移
    title:wordpress站点转移date:2024/7/1311:11:11tag:linux学习categories:wordpress建设description:搭建后的优化top_img:https://cdn.jsdelivr.net/gh/xiaowang872/blogimage@main/images/QQ%E6%88%AA%E5%9B%BE20240713105724.pngcover:https://cdn.jsdelivr.net/......
  • 让C++通过JNI来callback回调kotlin侧代码
    kotlin一次通过jni调用C++侧,然后C++侧多次回传数据让C++通过JNI来callback回调kotlin侧代码1.定义Kotlin接口在Kotlin中定义一个用于接收C++回调的接口:interfaceDataCallback{funonDataReceived(data:String)}2.定义C++侧的JNI方法在C++侧,实现接收指令和......
  • PixiJS源码分析系列:第四章 响应 Pointer 交互事件(上篇)
    响应Pointer交互事件(上篇)上一章我们分析了sprite在canvasRenderer上的渲染,那么接下来得看看交互上最重要的事件系统了最简单的demo还是用一个最简单的demo演示example/sprite-pointerdown.html为sprite添加一个pointerdown事件,即点击事件,移动设备上就是touc......
  • kettle从入门到精通 第八十二课 ETL之kettle kettle中的【阻塞数据直到步骤都完成】使
     1、在使用步骤【阻塞数据直到步骤都完成】(英文为Blockthisstepuntilstepsfinish)之前,我们先来了解下什么是 CopyNr? CopyNr是指 “副本编号” 或 “拷贝编号”,也就是下图中的复制的记录行数,图中的两个步骤复制的记录行数都是0,表示只有一个副本。 2、写日志步骤右......
  • 一文读懂CST电磁仿软件的TLM算法原理和历史背景
    这期我们免公式地介绍一下TLM原理。TLM(TransmissionLineMethod)是传输线矩阵算法,基于Huygens的波传播模型的三维全波电磁算法,注意是fullwave哦!什么是Huygens原理?惠更斯原理能准确计算波的传播。简单讲就是波传播的最前沿(wavefront)上每个点都可以看作是下一时刻的波的点源。......
  • 基于STC8H4K64TL单片机的串口1打印RTC(即实时时钟)功能调试
    基于STC8H4K64TL单片机的串口1打印RTC(即实时时钟)功能调试STC8H4K64TL单片机介绍STC8H4K64TL单片机管脚图(48个引脚)STC8H4K64TL单片机串口仿真与串口通信STC8H4K64TL单片机管脚图(32个引脚)STC8H4K64TL单片机管脚图(20个引脚)STC8H系列单片机管脚说明STC8H系列单片机I/O......
  • Python 进行数据可视化(Matplotlib, Seaborn)
    数据可视化是数据科学和分析中的重要工具,它通过图形表示数据,使得复杂的数据变得易于理解和分析。在Python中,最常用的两个数据可视化库是Matplotlib和Seaborn。Matplotlib1.简介Matplotlib是一个用于生成二维图形的Python库。它提供了类似于Matlab的绘图接口,使用户能够轻松......