poi word 插入附件_「word技巧」如何在word文档中添加各种格式的附件?

平时给领导提交word文档的工作报告,为了让整个报告详尽,往往会附带一些不同格式的附件一起提交过去。那么,这些附件能不能直接插入到word文档中呢?这样子就省得额外提交。

当然可以。

我们可以先来看一下插入效果图:

9ea8595ecc3e473ae73ccde2d7705cc0.png

我们可以看到,不论是word文档格式的文件,还是excel文件,或是ppt文件,甚至是视频文件等,都可以以附件的形式插入到word文档中。

现在具体来看看word文档插入附件的操作步骤。

1、打开word文档,点击菜单栏的【插入】—【对象】;

705585e8920728ea305a0710e09709a8.png

2、在打开的【对象】对话框里,选择【由文件创建】;

e8b17753f0c611f36bff71a354905a94.png

3、点击浏览,选择要插入的文件;

6a4621a993e8bd9082fe0adcdfe08192.png

4、文件选择好后,再将【显示为图标】勾选起来;

f388844c1908a7ab7ce50c3278d33e17.png

补充说明:勾选【显示为图标】,目的是为了以后可以直接更改插入的附件名称。

5、最后点击【确定】,文件就插入完毕了。

e2d2926a645f4ea7df90392a265488d6.png

这时,如果想查看插入的附件,只要鼠标双击就打开了。

当文件做为附件插入到word文档后,想要更改附件名称怎么办?

删除,重新插入?

NO,NO,NO!

直接在word文档,右键单击插入的附件,选择【“包装程序外壳对象”对象】—【转换】;

a61bf28762dd859e00e6ab4c4d850a71.png

在打开的【转换】窗口里,点击【更改图标】,就可以更改附件名称了。

c281e640f52a73cf3859d1cede68df16.png

看到这里,你就会明白,在插入对象的时候,我们为什么要勾选【显示为图标】了。若【显示为图标】没有勾选的话,已经插入的附件名称就没办法直接在word文档中更改,只能删除附件,再重新插入。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在POI导出的Word文档添加附件,可以使用POI提供的OLE2方式,将附件嵌入到Word文档。以下是实现方式的大致步骤: 1. 使用POIFSFileSystem创建一个空的Word文档,并获取到Document部分的XWPFDocument对象。 2. 创建一个OLE2嵌入对象,将附件的数据写入到embededData。 3. 将OLE2嵌入对象添加Word文档,同时在文档插入一个内容控件,用于显示附件的名称。 4. 将Word文档保存到指定的输出流。 以下是示例代码,展示了如何添加一个名为“test.txt”的附件: ``` // 创建一个空的Word文档 POIFSFileSystem fs = new POIFSFileSystem(); XWPFDocument doc = new XWPFDocument(fs); // 创建一个OLE2嵌入对象 byte[] data = Files.readAllBytes(Paths.get("test.txt")); String fileName = "test.txt"; String contentType = "text/plain"; ByteArrayInputStream embededData = new ByteArrayInputStream(data); OLE2Embeded ole2Embeded = new OLE2Embeded(doc, embededData, fileName, contentType); // 将OLE2嵌入对象添加Word文档 int ole2Index = doc.getPackagePart().addRelationship(ole2Embeded.getPackagePart().getPartName(), TargetMode.INTERNAL, OLE2Embeded.RELATIONSHIP_TYPE).getId(); CTObject obj = doc.getDocument().getBody().addNewObject(); obj.addNewOleObject().setProgId("Package").setId(ole2Index); obj.addNewObjectPr().setId(obj.getOleObject().getId()); // 在文档插入一个内容控件,用于显示附件的名称 XWPFParagraph para = doc.createParagraph(); XWPFRun run = para.createRun(); run.setText("附件名称:"); CTFFData dataField = run.getCTR().addNewFldChar().addNewFfData(); dataField.setFldLock(true); dataField.setDirty(true); run.getCTR().addNewInstrText().setStringValue(" REF Package \\p \\* MERGEFORMAT "); run.getCTR().addNewFldChar().setFldCharType(STFldCharType.SEPARATE); run.getCTR().addNewFldChar().addNewFfData().setDirty(true); // 将Word文档保存到输出流 FileOutputStream out = new FileOutputStream("output.docx"); doc.write(out); out.close(); ``` 注意:以上代码仅供参考,具体实现方式需要根据实际情况进行调整。同时,添加附件可能会导致Word文档的大小变得较大,需要注意文档的大小限制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值