Ⅰ 请问用poi可以向word中插入图片么
可以!
Ⅱ 我想用POI在Word里插入一张图片,这是我的测试代码。执行之后word打不开!错误如图中的提示
publicvoidaddPicture(stringfilepath,stringoldfileName,uintid)
{
System.IO.FileStreamgfs=newSystem.IO.FileStream(filepath,System.IO.FileMode.Open,System.IO.FileAccess.Read);
XWPFParagraphpara=doc.CreateParagraph();
XWPFRunr=para.CreateRun();
XWPFPicturepic=r.AddPicture(gfs,(int)NPOI.XWPF.UserModel.PictureType.JPEG,oldfileName,1000000,1000000);
NPOI.OpenXmlFormats.Dml.WordProcessing.CT_Inlineinline=r.GetCTR().GetDrawingList()[0].inline[0];
inline.docPr.id=id;//默认插入少了这个ID号,它就是图片的序号,从1开始编号的。这个是我折腾了一整天弄才弄好的。
gfs.Close();
}
Ⅲ 怎么使用poi向word中插入水印图片
只支持word2007及以上版本。在指定位置插入图片时,必须将需要替换的文本放在单元格中。文件操作完后,会对源文件也进行操作,也就是会将源文件的需要替换的内容也替换掉,就不能达到重复利用源文件的效果,因此我在下面贴出了复制文件的方法,将源文件复制一份,再对复制文件进行操作,这样就可以使源文件多次复用。
Ⅳ java 如何使用poi 在word 中插入图片和数据,给我一个实现的例子,
实际上还真就得一个一个set进去
我现在做的程序就有这部分机能,思路就是excel→sheet→row
然后遍历所有row,取出所有的cell放到一个存储用结构体中。
无论如何,解析的过程都需要自己来写的。
=======================================================
你的想法我明白,其实就是想要一个java与poi的databinding,定义好的数据模块可以自动和excel的对应列进行匹配。但是这个东西确实就没有啊,人家只封装了读取excel内容,没有提供这样的模块,只有自己写啊。即使是60个列,事实上绑定的逻辑也就只用写一次,而且大部分的内容只要复制粘贴就好了。
如果像下面说的做循环,赋值简单了,可是用的时候就痛苦了,要取某一个字段的时候难道要用数组下标去取?
PS 鄙视5楼的,人家要的是数据导入,拷贝一段倒出的处理来。
Ⅳ 请教:如何用JAVA POI 向Word文档里插图片 请提供下代码 谢谢!!!
楼主你可以这样操作,导入java.io.*。org.apache.poi.hwpf.*。org.apache.poi.hwpf.usermodel.Picture
String savePath= "c:\\temp\\";
String docFile= savePath+ "test.doc";
String imgFile= savePath+ "img.jpg";
HWPFDocument poiDoc = new HWPFDocument(new FileInputStream(docFile));
List picList=poiDoc.getPicturesTable().getAllPictures();
Picture picture=(Picture)picList.get(0);
try {
picture.writeImageContent(new FileOutputStream(imgFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Ⅵ POI操作word插入相同图片
这么做还是有个小问题,就是连续插入两个图片,不在同一行。
解决方案是给createPicture添加一个参数XWPFParagraph paragraph,换掉方法内部的
调用的时候,插入的两个图片用同一个paragraph,代码如下
XWPFParagraph paragraph = doc.createParagraph();
// 插入第一个图片
doc.createPicture(paragraph, 。。。);
//还可以插入一些文字唯粗
// doc.createRun().setText(" -----> ");
// 插入第二个图片
doc.createPicture(paragraph, 。。。);
--------------- 原因:
word的模型是
整岩山液个是一个document
然后里面有多很多个paragraph,
段落
段落和段落之间按照回车换行分割
每一段内,又可以有多个range
在这个定义的插入显示的图片的类里
一上来就创建了一个段落
只要把两次插入的图片,放到同一个段落
就在一行了。没有回车了。
通过这个方法,把段落从插入图片中提出来,还可以在两个图片之间,加入其它东西,比较文字或空格来定位。
————————————————
版权声明:本文为CSDN博主“kimmking”的原创文章粗物,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KimmKing/java/article/details/8205439