poi word 图片 设置位置
w;w;w。
可以将word的后缀名改为zip然后打开找到word/document;>dxa" />- eastAsia":r>02w,这样可以更加方便的了解他的底层构造,获得到cell里的值,即cell.getText();在这里注意cell中value的长度:p>- w;w:tcPr>w; /首先就是要明白解决的方案是:先删后添。
就是利用Paragraph创建run,在创建完毕后循环遍历tableàrowàcell.xml文件...
我想用POI在Word里插入一张图片,这是我的测试代码。
执行之后word...
展开全部public void addPicture(string filepath, string oldfileName, uint id) { System.IO.FileStream gfs = new System.IO.FileStream(filepath, System.IO.FileMode.Open, System.IO.FileAccess.Read); XWPFParagraph para = doc.CreateParagraph(); XWPFRun r = para.CreateRun(); XWPFPicture pic = r.AddPicture(gfs, (int)NPOI.XWPF.UserModel.PictureType.JPEG, oldfileName, 1000000, 1000000); NPOI.OpenXmlFormats.Dml.WordProcessing.CT_Inline inline = r.GetCTR().GetDrawingList()[0].inline[0]; inline.docPr.id = id;//默认插入少了这个ID号,它就是图片的序号,从 1开始编号的。
这个是我折腾了一整天弄才弄好的。
gfs.Close(); }...
java POI html转word,无法显示图片
前言:首先我们在2003版本的的doc文件中,POI可以使用HWPF很方便的获取range,然后使用replace方法替换文本框中的内容,不过好像Word背景图片什么都没有了。
在docx中,正常的文本段落还是比较方便替换的,但是遇到文本框中的文字就无力了。
方法步骤如下: 1、工具需求 (1)WPS OFFICE 2003 2、第一步,我们先使用输入流打开文件,并获得文档的XWPFDocument对象。
然后获得文档的所有段落,进而获得要操作的文本框所在的段落,具体使用时候,可以通过判断或者print操作得知要操作的文本框到底是哪一段,如图 (1)然后第二步,获取XWPFParagraph的XmlObject,然后获得XmlObject对象的游标。
可以通过打印XmlObject来得知当前XML的内容,也可以使用XmlCursor的getName方法和getTextValue方法来查看当前游标所在位置的Node及Node的值 (2)下一步,通过移动游标,找到要修改的文本所在位置,然后使用游标的setTextValue来设置其值。
如图 3、第三步,保存文件、关闭输入输出流,修改后的文本框如图所示: 上述即:如何使用POI操作Word文本框中的内容的方法,供出现此问题的朋友们参考和使用 4、如果上述功能都无法使用,可能是程序出现了问题。
建议重新下载安装试试,建议使用wps office 2003:www.3322.cc/soft/5135.html...
跪求POI根据模板生成word文档的例子。
注意啦,是用书签标记的方...
1、基本替换用word替换文本是很简单的:首先打开一个文档,执行“编辑一〉替换”(或按“Ctrl+H”组合键),打开“查找和替换”对话框,在“查找内容”右侧的方框中输入需要替换的字符,在“替换为”右侧的方框中输入替换后的字符,然后单击“全部替换”按钮即可。
2、格式替换如果需要突出文档中某些特定字符,可以通过格式替换的方法将那些字符设置成不同字体格式(如“加粗、倾斜”等)。
打开“查找和替换”对话框,在 “查找内容”和“替换为”右侧的方框中输入同样字符,然后将光标定在“替换为”右侧方框中,单击“高级”按钮展开高级选项,单击其中的“格式”按钮,在随后弹出的快捷菜单中,选择“字体”选项,打开“替换字体”对话框,将字型设置成“加粗倾斜”格式,点击“确定”返回,再单击“全部替换”按钮即可。
3、空行替换用Word编辑从网上粘贴过来的文本时,常常含有多余空行,手工删除既累又烦,何不用空行替换的方法呢?打开“查找和替换”对话框,在“查找内容”右侧的方框中输入“^p^p”(p一定是小写格式),在“替换为”右侧的方框中输入“^p”,然后根据空行的多少,反复按几次“全部替换”按钮,就完工了。
4、图片替换如果一篇文档中,多处需要输入某个小图片,那么先在需要输入图片的地方输入某个特殊字母(笔者用的是五笔输入法,所以通常用字母“z”),待文章全部录入完成后,通过“插入一〉图片一〉来自文件”等方法将小图片插入一个到文档中,并选中该图片,执行“复制”操作,再打开“查找和替换”对话框,在 “查找内容”后面的方框中输入字母“z”(默认情况下,可以不考虑大小写问题),在“替换为”后面的方框中输入“^c”,单击“全部替换”按钮就行了。
5、通配替换如果要想将文档中的书名(包含在书名号“《》”之间的部分)统一设置“黑体、红色”,可以利用通配符替换来实现:打开“查找和替换”对话框,展开 “高级”选项,选中其中的“使用通配符”选项,在“查找内容”中输入“《·》”,然后将光标定在“替换为”右侧的方框中,不输入内容,打开“替换字体”对话框,将“中文字体”和“字体颜色”分别设置为“黑体”和“红色”,点击“确定”返回,再按一下“全部替换”按钮即可。
6、书签替换在文档录入时,先将文档中要多次出现的字符(如“比上年同期增长128%”)输入到文档中,然后选中这一特定字符,执行“插入一〉书签”命令,打开“书签”对话框,输入一个便于理解的名称(如“zzb1”),然后依次按“添加一取消”按钮返回。
以后需要输入该字符时,执行“插入-〉引用-〉交叉引用”命令,打开“交叉引用”对话框,按“引用类型”右侧的下拉按钮,在随后出现的下拉列表中,选择“书签”选项,然后选中其中需要的书签名称,再单击“插入”按钮即可。
通过这种方法输入的字符,如果对定义的书签内容进行了修改(如“比上年同期增长127.5%”),只要按“Ctrl+A”。
组合键选中全文,再按一下F9功能键,后面引用的内容会一次性作出相应的更改,起到文内批量替换的效果。
7、粘贴替换在文档录入时,先将文档中要多次出现的字符(如“比上年同期增长128%”等)输入到文档中,然后选中这一特定字符,执行“复制”操作,再将光标定在需要再次输入此字符的位置上,执行“编辑-〉选择性粘贴”命令,打开“选择性粘贴”对话框,选中其中的“粘贴为链接”选项(其它选项不需要更改),点击“确定”返回。
这样,重复进行“选择性粘贴”就可以将上述字符插入到文档多处。
此时,如果修改了最初的字符内容(如“比上年同期增长127.5%”),则后续词条随之更新,也达到了批量替换的目的。
8、大小写替换如果想将文档中的大(小)写字母,转换成小(大)写格式,可以这样来做:选中需要转换的文档区域,根据转换的实际需要,反复按“shifl+F3”组合键即可。
格式Microsoft Word X (Mac OS X)Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.doc)成为事实上最通用的标准。
Word文件格式的详细资料并不对外公开。
Word文件格式不只一种,因为随Word软件本身的更新,文件格式也会或多或少的改版,新版的格式不一定能被旧版的程序读取(大致上是因为旧版并未内建支援新版格式的能力)。
微软已经详细公布Word 97的DOC格式,但是较新的版本资料仍未公开,只有公司内部、政府与研究机构能够获知。
业界传闻说某些Word文件格式的特性甚至连微软自己都不清楚。
其他与Word竞争的办公室作业软件,都必须支援事实上最通用的Word专用的档案格式。
因为Word文件格式的详细资料并不对外公开,通常这种兼容性是藉由逆向工程来达成。
许多文字处理器都有汇出、汇入Word档案专用的转换工具,譬如AbiWord或OpenOffice。
(参照文本编辑器当中关于其他竞争软件的说明。
)Apache Jakarta POI是一个开放原始码的Java数据库,其主要目标是存取Word的二进制文件格式。
不久前,微软自己也提供了检视器,能够不用Word程序就检视Word文件。
例:Word ...
java word中表格如何排版输出
首先我用的技术是 poi 这是代码,一个工具类得调用public class WordUtil { /** * 基于模板文件导出 word 文档,此方法主要是用来处理文档中需要替换的文本内容,对图片和表格无效 * * @param templatePath * 模板文件的路径,要求路径中要包含全名,并且模板文件只能是 07 及以上格式,即 docx 的文件 * @param destFilePath * 导出文件的存放路径,包含文件名,例如,E:/test/小区公告.docx * @param data * 用来替换文档中预定义的字符串,要求预定义的字符串与 data 中的 key 值要相同 */ public static void exportWordByTemplate(String templatePath, String destFilePath, Map data) { FileOutputStream out = null; XWPFDocument doc = null; try { doc = new XWPFDocument(POIXMLDocument.openPackage(templatePath)); List listRun; List listParagraphs = doc.getParagraphs(); for (int i = 0; i < listParagraphs.size(); i++) { listRun = listParagraphs.get(i).getRuns(); for (int j = 0; j < listRun.size(); j++) { if (data.get(listRun.get(j).getText(0)) != null) { String val = data.get(listRun.get(j).getText(0)); listRun.get(j).setText(val, 0); } } } File destFile = new File(destFilePath); if (!destFile.getParentFile().exists()) { destFile.getParentFile().mkdirs(); } out = new FileOutputStream(destFilePath); doc.write(out); } catch (IOException e) { e.printStackTrace(); } finally { try { if (out != null) out.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * 基于模板文件导出 word 文档,该方法支持03格式,但是此方法只能保留文档内容,不能保留文档中的样式和图片,建议将模板使用 07 的格式保存 * * @param templatePath * 模板文件的路径 * @param destFilePath * 导出文件的存放路径,包含文件名,例如,E:/test/小区公告.doc * @param data * 用来替换文档中预定义的字符串,要求预定义的字符串与 data 中的 key 值要相同 */ public static void export03WordByTemplate(String templatePath, String destFilePath, Map data) { try { WordExtractor doc = new WordExtractor(new FileInputStream( templatePath)); String content = doc.getText(); for (String key : data.keySet()) { content = content.replaceAll(key, data.get(key)); } byte b[] = content.getBytes(); ByteArrayInputStream bais = new ByteArrayInputStream(b); POIFSFileSystem fs = new POIFSFileSystem(); DirectoryEntry directory = fs.getRoot(); directory.createDocument("WordDocument", bais); FileOutputStream ostream = new FileOutputStream(destFilePath); fs.writeFilesystem(ostream); bais.close(); ostream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) throws Exception { Map maps = new HashMap(); maps.put("appellation", "万达公寓业主:"); maps.put( "main_body", "输出的内容"); maps.put("date", "2013年1月23日"); exportWordByTemplate("E:/sss 2.docx", "E:/test/test.doc", maps);}}"E:/sss 2.docx 模板存放的地址。
E:/test/test.doc 新生成的地址。
WORD文档插入页码时有几页不显示不显示页码?如何解决
WORD文档插入页码时有几页不显示可能是由于之前排版插入了分隔符,是的页面中无法进统一插入页码,需要进行删除分隔符操作。
工具:分隔符 Word软件步骤:第一步,当操作Word文档的时候如果在插入空白页的时候同时插入了分隔符,这个时候文档就不是一个统一的版面了,需要手动删除分隔符进行排版。
第二步,使用快捷键Ctrl+F调出查找命令对话框,点击特殊格式---分节符,然后把这些分节符全部替换为空白的空格就可以了。
第三步,删除后,然后使用插入---页码命令重新对文档进行页码的插入即可完成。
Microsoft Office Word是微软公司的一个文字处理器应用程序。
它最初是由Richard Brodie为了运行DOS的IBM计算机而在1983年编写的。
随后的版本可运行于Apple Macintosh (1984年)、SCO UNIX和Microsoft Windows (1989年),并成为了Microsoft Office的一部分。
Word给用户提供了用于创建专业而优雅的文档工具,帮助用户节省时间,并得到优雅美观的结果。
一直以来,Microsoft Office Word 都是最流行的文字处理程序。
作为 Office 套件的核心程序, Word 提供了许多易于使用的文档创建工具,同时也提供了丰富的功能集供创建复杂的文档使用。
哪怕只使用 Word 应用一点文本格式化操作或图片处理,也可以使简单的文档变得比只使用纯文本更具吸引力。
Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.doc)成为事实上最通用的标准。
Word文件格式的详细资料并不对外公开。
Word文件格式不只一种,因为随Word软件本身的更新,文件格式也会或多或少的改版,新版的格式不一定能被旧版的程序读取(大致上是因为旧版并未内建支援新版格式的能力)。
微软已经详细公布Word 97的DOC格式,但是较新的版本资料仍未公开,只有公司内部、政府与研究机构能够获知。
业界传闻说某些Word文件格式的特性甚至连微软自己都不清楚。
其他与Word竞争的办公室作业软件,都必须支援事实上最通用的Word专用的档案格式。
因为Word文件格式的详细资料并不对外公开,通常这种兼容性是藉由逆向工程来达成。
许多文字处理器都有汇出、汇入Word档案专用的转换工具,譬如AbiWord或OpenOffice。
(参照文本编辑器当中关于其他竞争软件的说明。
)Apache Jakarta POI是一个开放原始码的Java数据库,其主要目标是存取Word的二进制文件格式。
不久前,微软自己也提供了检视器,能够不用Word程序就检视Word文件。
例:Word Viewer 2003。
Microsoft office Word 97到Microsoft office Word 2003之前的Word文件格式都是二进制文件格式。
不久以前,微软声明他们接下来将以XML为基础的档案格式作为他们办公室套装软件的格式。
Word 2003提供WordprocessingML的选项。
这是一种公开的XML档案格式,由丹麦政府等机构背书支持。
Word 2003的专业版能够直接处理非微软的档案规格。
跟其它Microsoft Office程序一样,Word可使用固定宏语言(宏语言)来高度定制。
(最初是WordBasic,但自从Microsoft office Word 97以来就变成Visual Basic)然而,这种性能也可以在文档中嵌入就像梅利莎蠕虫的电脑病毒。
这就是电脑用户需要安装防火墙和反病毒软件的另一个原因。
Microsoft's security advice人们所知道的第一个感染Microsoft Word文档的病毒叫做概念病毒,一个相对危害很小的病毒,它的出现是为了证明宏病毒出现的可能性。
转载请注明出处51数据库 » poi 替换word图片
太阳日了狗生了这鸟天