poi 操作word 2007 (如何删除word中的某一个表格)
关键代码如下:FileInputStream fileInputStream = new FileInputStream( soureFile);POIFSFileSystem pfs = new POIFSFileSystem( fileInputStream );HWPFDocument hwpf = new HWPFDocument(pfs);// make a HWPFDocument objectOutputStream output = new FileOutputStream( targetFile );hwpf.write(output);// write to the target fileoutput.close();(2)再word中插入表格。
HWPF的情况:Table tcDataTable = range.insertTableBefore( (short)column , row);//column and row列数和行数tcDataTable.getRow(i).getCell(j).getParagraph(0).getCharacterRun(0).insertBefore("插入i行j列的内容" );XWPF的情况:String outputFile = "D:\\test.doc";XWPFDocument document = new XWPFDocument();XWPFTable tableOne = document.createTable();XWPFTableRow tableOneRowOne = tableOne.getRow(0);tableOneRowOne.getCell(0).setText("11");XWPFTableCell cell12 = tableOneRowOne.createCell();cell12.setText("12");// tableOneRowOne.addNewTableCell().setText("第1行第2列");// tableOneRowOne.addNewTableCell().setText("第1行第3列");// tableOneRowOne.addNewTableCell().setText("第1行第4列");XWPFTableRow tableOneRowTwo = tableOne.createRow();tableOneRowTwo.getCell(0).setText("21");tableOneRowTwo.getCell(1).setText("22");// tableOneRowTwo.getCell(2).setText("第2行第3列");XWPFTableRow tableOneRow3 = tableOne.createRow();tableOneRow3.addNewTableCell().setText("31");tableOneRow3.addNewTableCell().setText("32");FileOutputStream fOut;try {fOut = new FileOutputStream(outputFile);document.write(fOut); fOut.flush();// 操作结束,关闭文件fOut.close();} catch (Exception e) {e.printStackTrace();}
java POI 如何读取word的表格中的表格
Jacob解决Word文档的读写问题收藏Jacob是Java-COMBridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。
使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。
Jacob下载的地址为:.Variant;publicclassWordOperate{publicstaticvoidmain(Stringargs[]){ActiveXComponentwordApp=newActiveXComponent("Word.Application");//启动word//Setthevisiblepropertyasrequired.Dispatch.put(wordApp,"Visible",newVariant(true));////设置word可见Dispatchdocs=wordApp.getProperty("Documents").toDispatch();//StringinFile="d:\\test.doc";//Dispatchdoc=Dispatch.invoke(docs,"Open",Dispatch.Method,//newObject[]{inFile,newVariant(false),newVariant(false)},//参数3,false:可写,true:只读//newint[1]).toDispatch();//打开文档Dispatchdocument=Dispatch.call(docs,"Add").toDispatch();//createnewdocumentStringuserName=wordApp.getPropertyAsString("Username");//显示用户信息System.out.println("用户名:"+userName);//文档对齐,字体设置////////////////////////Dispatchselection=Dispatch.get(wordApp,"Selection").toDispatch();Dispatchalign=Dispatch.get(selection,"ParagraphFormat").toDispatch();//行列格式化需要的对象Dispatchfont=Dispatch.get(selection,"Font").toDispatch();//字型格式化需要的对象//标题处理////////////////////////Dispatch.put(align,"Alignment","1");//1:置中2:靠右3:靠左Dispatch.put(font,"Bold","1");//字型租体Dispatch.put(font,"Color","1,0,0,0");//字型颜色红色Dispatch.call(selection,"TypeText","Word文档处理");//写入标题内容Dispatch.call(selection,"TypeParagraph");//空一行段落Dispatch.put(align,"Alignment","3");//1:置中2:靠右3:靠左Dispatch.put(selection,"Text","");Dispatch.call(selection,"MoveDown");//光标标往下一行//表格处理////////////////////////Dispatchtables=Dispatch.get(document,"Tables").toDispatch();Dispatchrange=Dispatch.get(selection,"Range").toDispatch();Dispatchtable1=Dispatch.call(tables,"Add",range,newVariant(3),newVariant(2),newVariant(1)).toDispatch();//设置行数,列数,表格外框宽度//所有表格VarianttableAmount=Dispatch.get(tables,"count");System.out.println(tableAmount);//要填充的表格Dispatcht1=Dispatch.call(tables,"Item",newVariant(1)).toDispatch();Dispatcht1_row=Dispatch.get(t1,"rows").toDispatch();//所有行intt1_rowNum=Dispatch.get(t1_row,"count").getInt();Dispatch.call(Dispatch.get(t1,"columns").toDispatch(),"AutoFit");//自动调整intt1_colNum=Dispatch.get(Dispatch.get(t1,"columns").toDispatch(),"count").getInt();System.out.println(t1_rowNum+""+t1_colNum);for(inti=1;i
如何使用apache poi将word转化为html
Java可以使用这个开源框架,对word进行读取合并等操作,Apache POI是一个开源的利用Java读写Excel、WORD等微软OLE2组件文档的项目。
最新的3.5版本有很多改进,加入了对采用OOXML格式的Office 2007支持,如xlsx、docx、pptx文档。
示例如下:import org.apache.poi.POITextExtractor; import org.apache.poi.hwpf.extractor.WordExtractor; //得到.doc文件提取器 org.apache.poi.hwpf.extractor.WordExtractor doc = new WordExtractor(new FileInputStream(filePath)); //提取.doc正文文本 String text = doc.getText(); //提取.doc批注 String[] comments = doc. getCommentsText(); 2007 import org.apache.poi.POITextExtractor; import org.apache.poi.xwpf.extractor.XWPFWordExtractor; import org.apache.poi.xwpf.usermodel.XWPFComment; import org.apache.poi.xwpf.usermodel.XWPFDocument; //得到.docx文件提取器 org.apache.poi.xwpf.extractor.XWPFWordExtractor docx = new XWPFWordExtractor(POIXMLDocument.openPackage(filePath)); //提取.docx正文文本 String text = docx.getText(); //提取.docx批注 org.apache.poi.xwpf.usermodel.XWPFComment[] comments = docx.getDocument()).getComments(); for(XWPFComment comment:comments){ comment.getId();//提取批注Id comment.getAuthor();//提取批注修改人 comment.getText();//提取批注内容 }
什么是WORD文档?
Microsoft Word是微软公司的一个文字处理器应用程序。
它最初是由Richard Brodie为了运行DOS的IBM计算机而在1983年编写的。
随后的版本可运行于Apple Macintosh (1984年), SCO UNIX,和Microsoft Windows (1989年),并成为了Microsoft Office的一部分。
使用Microsoft Office Word创建和编辑信件,报告,网页或电子邮件中的文本和图形。
MS-DOS计算机开发的Word的第一代于1983年底发行,但是反响并不好,销售落后于WordPerfect等对手产品。
尽管如此,在Macintosh系统中,Word在1985年发布以后赢得了广泛的接受,尤其是对于在两年以后第二次大型发布的Word 3.01 for Macintosh (Word 3.00 由于有严重bug很快下线)。
和其他Mac软件一样,Word for Mac是一个真正的(所见即所得) 编辑器。
由于MS-DOS是一个字符界面系统,Word for DOS是为IBM PC 研发的第一个文本编辑器,在编辑的时候屏幕上直接显示的是“黑体”“斜体”等字体 标识符,而不是“所见即所得”。
其他的DOS 文本编辑器,如WordStar和WordPerfect等,在屏幕显示时使用的是简单文本显示加上标识代码,或者加以颜色区别。
尽管如此,和大多数DOS软件一样,程序为了执行特定的功能,都有自己特殊的,而且往往是复杂的命令组需要使用者去记忆。
(比如在Word for DOS中,保存文件需要依次执行Escape-T-S),而大部分秘书们已经知道如何使用 WordPerfect,公司就不大愿意更换成对手产品,何况提供的新优点有限。
Microsoft Word 6.0 (Windows 98) 第一个Windows版本的Word发售于1989年,价格是500美元。
在 Windows 3.0 发行之后的一年, 销售开始好转, (Word 1.0 与 Windows 3.0 的协作比先前版本更好)。
制作一个Windows版WordPerfect的失败已证实为致命的错误。
它是Word 2.0版本,但是却作为市场主流坚实地发展起来。
Word在苹果机市场上没有强大的竞争对手,尽管有程序像Nisus Writer提供“不连续的选择”等的特色功能,这些功能直到Office XP中的Word 2002才添加。
另外,一些用户抱怨Word没有在1987年的3.01版与1991年的5.0版之间实行大的检查。
相对于它的易用性和特色功能来说,由于典雅,苹果机的Word 5.1是一个主流的文字处理器。
但是1994年发布的苹果机的6.0版却受到了广泛的嘲笑。
这是Word第一个基于Windows和Macs之间通用代码的版本;许多人抱怨它慢、简陋及占过多内存。
Windows版本也计入6.0在内以协调跨越不同平台的产品命名(尽管事实上最早的Windows版本为Word 2.0)。
Word的较晚版本拥有比文字处理更多的功能。
绘图工具可进行简单的桌面出版运作,如在文件中加设图像。
近年来已增设Collaboration、文件校对、多语言支援与及其他功能。
Word 2007, Microsoft Office 2007的一部分, 是继Word 2003后的正在开发的版本。
这个发行版包括了对新的基于XML文件格式的支持。
简体中文版已经于2006年底发布。
界面请见:http://hi.baidu.com/wmr2007/album/item/f09bc8c3bbffd95db219a8e1.html Microsoft Word文字处理软件是用C语言或者C++语言编辑制做的,来实现文字处理功能的。
Microsoft Word X (Mac OS X) Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.doc)成为事实上最通用的标准。
Word文件格式的详细资料并不对外公开。
Word文件格式不只一种,因为随Word软件本身的更新,文件格式也会或多或少的改版,新版的格式不一定能被旧版的程序读取(大致上是因为旧版并未内建支援新版格式的能力)。
微软已经详细公布Word 97的DOC格式,但是较新的版本资料目前仍未公开,只有公司内部、政府与研究机构能够获知。
业界传闻说某些Word文件格式的特性甚至连微软自己都不清楚。
其他与Word竞争的办公室作业软件,都必须支援事实上最通用的Word专用的档案格式。
因为Word文件格式的详细资料并不对外公开,通常这种兼容性是藉由逆向工程来达成。
许多文字处理器都有汇出、汇入Word档案专用的转换工具,譬如AbiWord或OpenOffice.org。
(参照文本编辑器当中关于其他竞争软件的说明。
)Apache Jakarta POI是一个开放原始码的Java数据库,其主要目标是存取Word的二进制文件格式。
不久前,微软自己也提供了检视器,能够不用Word程序就检视Word文件。
例:Word Viewer 2003。
Word 97到Word 2003之前的Word文件格式都是二进制文件格式。
不久以前,微软声明他们接下来将以XML为基础的档案格式作为他们办公室套装软件的格式。
Word 2003提供WordprocessingML的选项。
这是一种公开的XML档案格式,由丹麦政府等机构背书支持。
Word 2003的专业版能够直接处理非微软的档案规格。
跟其它Microsoft Office程序一样,Word可使用固定宏语言(宏语言)来高度定制。
(最初是WordBasic, 但自从Word 97以来就变成Visual Basic)然而, 这种性能也可以在文档中嵌入就像梅利莎蠕虫的电脑病毒。
这就是电脑用户需要安装 防火墙 和 反病毒软件 的另一个原因。
Microsoft's security advice 人们所知道的第一个感染Microsoft Word...
poi可以按paragraph分割word吗
自己在做项目过程中用到了解析分割word2003和2007,2010等文件内容,以下是代码:下面是部分代码,如果想要全部代码可以发我邮箱,yongqian.liu@peraglobal.com,接口类 :PoiExtractContent.javapackage com.peraglobal.extract.poi;import java.util.Map;/*** 使用 POI 解析 WORD 文件的内容信息* @author yongqian.liu* 2015-2-9*/public interface PoiExtractContent {/*** 根据文件路径获得 Document 对象* @param docPath 路径* @return Document*/public T getDocument(String docPath);/*** 解析 word 文档的标题* @param doc Document 对象* @return word 文档中标题*/public String getTilte(T doc);/*** 获取 word 文档里所有文字内容(不包括图片、表格等格式的内容)* @param doc Document 对象* @return word 文档中文字部分全部内容*/public String getContent(T doc);/*** 获取 word 文档里所有文字内容(不包括图片、表格等格式的内容)* @param docPath doc 对象路径* @return word 文档中文字部分全部内容*/public String getContent(String docPath);/*** 获取 word 文档里面所有图片并另存到指定目录下* @param doc Document 对象* @param picPath 保存图片路径* @param suffix 后缀名*/public void getPictures(T doc, String picPath, String suffix);/*** 获取word 文档里面所有表格* @param doc Document 对象*/public void getTables(T doc);/*** 获取word 文档中最大的字体* @param doc Document 对象* @return 最大字体*/public int getMaxFontSize(T doc);/*** 获取 word 文档的创建信息* @param docPath doc路径* @return 创建文档的信息*/public Map getInfo(String docPath);}
转载请注明出处51数据库 » poi打开word2007