当前位置: 首页 > news >正文

JSON 转换为 Word 文档

以下是一个在 Spring Boot 中实现 JSON 转 Word 的示例:

  1. 首先,需要在项目中引入相关的依赖,如 jsonApache POI 等。在 pom.xml 文件中添加以下内容:

    <!-- JSON 相关依赖 -->
    <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.13.3</version>
    </dependency><!-- Apache POI 相关依赖 -->
    <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.3</version>
    </dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.3</version>
    </dependency>
  2. 创建一个 Java 类,用于将 JSON 转换为 Word 文档,以下是示例代码:

    import com.fasterxml.jackson.databind.ObjectMapper;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.apache.poi.xwpf.usermodel.XWPFParagraph;
    import org.springframework.http.ResponseEntity;
    import org.springframework.web.bind.annotation.*;import java.io.ByteArrayOutputStream;
    import java.io.IOExceptionimport;java.util.Map;@RestController
    @RequestMapping("/json-to-word")
    public class JsonToWordController {@PostMappingpublic ResponseEntity<byte[]> jsonToWord(@RequestBody Map<String, Object> json) throws IOException {// 创建一个 Word 文档XWPFDocument document = new XWPFDocument();// 创建一个新的段落XWPFParagraph paragraph = document.createParagraph();// 设置段落的文本内容为 JSON 的字符串形式paragraph.createRun().setText(new ObjectMapper().writeValueAsString(json));// 将 Word 文档转换为字节数组ByteArrayOutputStream outputStream = new ByteArrayOutputStream();document.write(outputStream);byte[] wordBytes = outputStream.toByteArray();// 设置响应头,指定内容类型为 Word 文,并档设置文件名return ResponseEntity.ok().header("Content-Type", "application/vnd.openxmlformats-officedocument.wordprocessingml.document").header("Content-Disposition", "attachment; filename=generated-word.docx").body(wordBytes);}
    }

相关文章:

  • SLAM算法工程师面经大全:2025年面试真题解析与实战指南
  • 个人Unity自用面经(未完)
  • Three.js 基础与实践
  • JavaSE核心知识点01基础语法01-04(数组)
  • QQMUSIC测试报告
  • 双目标清单——AI与思维模型【96】
  • 智能机器人赋能小天互连IM系统,打造高效办公新生态
  • cephadm部署ceph集群
  • Flowable7.x学习笔记(二十)查看流程办理进度图
  • 从零开始学习人工智能Day6-Python3标准库概览
  • 【AI提示词】六顶思考帽工具专家
  • 智能学习空间的范式革新:基于AI驱动的自习室系统架构与应用研究
  • 使用DevTools工具调试前端页面,便捷脚本,鸿蒙调试webView
  • PyTorch常用命令详解:助力深度学习开发
  • day18-API(常见API,对象克隆)
  • yolov8 输出数据解释
  • 游戏的TypeScript(6)TypeScript的元编程
  • Spring 中四种常见初始化方法,对比 static {} 和 @PostConstruct 在并发,Spring 加载顺序大致为: JVM 加载类
  • 4.29 tag的完整实现和登录页面的初步搭建
  • Python 数据智能实战 (13):AI的安全可靠 - 电商数据智能的红线与指南
  • 4月深圳新房、二手房成交同比均上涨,“5月有望延续积极向好的发展态势”
  • 4月外汇储备增加410亿美元,黄金储备连续6个月增加
  • 李云泽:将加快出台与房地产发展新模式相适配的系列融资制度
  • 象屿集团:对去化压力大、市场有效需求不足区域坚决暂停投资,打造多元上市路径
  • 媒体:西安62岁男子当街殴打妻子,警方称打人者已被行拘
  • 为什么有的人闻到烟味,会咳嗽、胸闷?别再伤害身边的人