java poi 操作word文档,怎么写入带上下标的文字?
步骤第一步,使用输入流打开文件,并获得文档的XWPFDocument对象。
然后获得文档的所有段落,进而获得要操作的文本框所在的段落,具体使用时候,可以通过判断或者print操作得知要操作的文本框到底是哪一段。
FileInputStream fis = newFileInputStream("e:/file.docx");XWPFDocument doc = new XWPFDocument(fis);List paragraphList =doc.getParagraphs();XWPFParagraph paragraph = paragraphList.get(10);文本框在Word中显示第二步,获取XWPFParagraph的XmlObject,然后获得XmlObject对象的游标。
可以通过打印XmlObject来得知当前XML的内容,也可以使用XmlCursor的getName方法和getTextValue方法来查看当前游标所在位置的Node及Node的值。
XmlObject object =paragraph.getCTP().getRArray(1);XmlCursor cursor = object.newCursor();第四步,通过移动游标,找到要修改的文本所在位置,然后使用游标的setTextValue来设置其值。
//修改第一处文本:cursor.toChild(1); cursor.toChild(0);cursor.toChild(3); cursor.toChild(0); cursor.toChild(0); cursor.toChild(3);cursor.toChild(1); cursor.setTextValue("First");// 修改第二处文本cursor.toParent(); cursor.toParent();cursor.toChild(1);cursor.toChild(3); cursor.toChild(1);cursor.setTextValue("Second");第四步,保存文件、关闭输入输出流。
FileOutputStream fos = newFileOutputStream("e:/export.docx");doc.write(fos);fos.flush();fos.close();fis.close();修改后的文本框
Java poi读取doc文档出错
The supplied data appears to be a raw XML file. Formats such as Office 2003 XML are not supported换对象来处理~~~~~~~~~~~~~~~~~~~~~~~~~~/** * 仅支持2003 * * @param file * @throws IOException */ private static void readExcel2003(File file) throws IOException { InputStream is = new FileInputStream(file); Workbook rwb = new HSSFWorkbook(is); Sheet sheet = rwb.getSheetAt(0); Row row = sheet.getRow(3); Cell cell = row.getCell(0); System.out.println(cell.getStringCellValue()); } /** * 仅支持2007 * * @param file * @throws IOException */ private static void readExcel2007(File file) throws IOException { InputStream is = new FileInputStream(file); Workbook rwb = new XSSFWorkbook(is); Sheet sheet = rwb.getSheetAt(0); Row row = sheet.getRow(3); Cell cell = row.getCell(0); System.out.println(cell.getStringCellValue()); } /** * 支持2003/2007 * * @param file * @throws Exception */ private static void readExcel(File file) throws Exception { InputStream is = new FileInputStream(file); Workbook rwb = WorkbookFactory.create(is); Sheet sheet = rwb.getSheetAt(0); Row row = sheet.getRow(3); Cell cell = row.getCell(0); System.out.println(cell.getStringCellValue()); }
"poi"是什么?
翻译结果:"对“一. 基本概念Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
二. 基本功能结构:HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
三. 范文演示创建Excel 文档示例1将演示如何利用Jakarta POI API 创建Excel 文档。
示例1程序如下:读取Excel文档中的数据示例2将演示如何读取Excel文档中的数据。
假定在D盘JTest目录下有一个文件名为test1.xls的Excel文件。
示例2程序如下:设置单元格格式在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。
在Java中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:1、创建字体,设置其为红色、粗体:2、创建格式3、应用格式处理WORD文档
如何使用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();//提取批注内容 }
JAVA使用POI读写word 乱码
写public static void main(String args[]) throws Exception { XWPFDocument doc = new XWPFDocument(); XWPFParagraph p1 = doc.createParagraph(); p1.setAlignment(ParagraphAlignment.CENTER); p1.setBorderBottom(Borders.DOUBLE); p1.setBorderTop(Borders.DOUBLE); p1.setBorderRight(Borders.DOUBLE); p1.setBorderLeft(Borders.DOUBLE); p1.setBorderBetween(Borders.SINGLE); p1.setVerticalAlignment(TextAlignment.TOP); XWPFRun r1 = p1.createRun(); r1.setBold(true); r1.setText("The quick brown fox"); r1.setBold(true); r1.setFontFamily("Courier"); r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH); r1.setTextPosition(100); XWPFParagraph p2 = doc.createParagraph(); p2.setAlignment(ParagraphAlignment.RIGHT); p2.setBorderBottom(Borders.DOUBLE); p2.setBorderTop(Borders.DOUBLE); p2.setBorderRight(Borders.DOUBLE); p2.setBorderLeft(Borders.DOUBLE); p2.setBorderBetween(Borders.SINGLE); XWPFRun r2 = p2.createRun(); r2.setText("jumped over the lazy dog"); r2.setStrike(true); r2.setFontSize(20); XWPFRun r3 = p2.createRun(); r3.setText("and went away"); r3.setStrike(true); r3.setFontSize(20); r3.setSubscript(VerticalAlign.SUPERSCRIPT); XWPFParagraph p3 = doc.createParagraph(); p3.setWordWrap(true); p3.setPageBreak(true); p3.setAlignment(ParagraphAlignment.BOTH); p3.setSpacingLineRule(LineSpacingRule.EXACT); p3.setIndentationFirstLine(600); XWPFRun r4 = p3.createRun(); r4.setTextPosition(20); r4.setText("To be, or not to be: that is the question: Whether 'tis nobler in the mind to suffer The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles, And by opposing end them? To die: to sleep; "); r4.addBreak(BreakType.PAGE); r4.setText("No more; and by a sleep to say we end The heart-ache and the thousand natural shocks That flesh is heir to, 'tis a consummation Devoutly to be wish'd. To die, to sleep; To sleep: perchance to dream: ay, there's the rub; ......."); r4.setItalic(true); XWPFRun r5 = p3.createRun(); r5.setTextPosition(-10); r5.setText("For in that sleep of death what dreams may come"); r5.addCarriageReturn(); r5.setText("When we have shuffled off this mortal coil,Must give us pause: there's the respectThat makes calamity of so long life;"); r5.addBreak(); r5.setText("For who would bear the whips and scorns of time,The oppressor's wrong, the proud man's contumely,"); r5.addBreak(BreakClear.ALL); r5.setText("The pangs of despised love, the law's delay,The insolence of office and the spurns......."); FileOutputStream out = new FileOutputStream("simple.docx"); doc.write(out); out.close(); }
java用poi导出word文档,我要导出一个表格,表格的单元格中还要有...
有个最简单,不用使用任何 poi 或其他第三方类库的方法生成 excel ,或 word ,你把一个生成好的 word 例子用文件另存为 xml , docx 之类,然后你再直接用记事本去打开这个 docx ,你就会发现是 xml 格式,这个时候,你在程序里面就直接用普通代码生成这个 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(); }...
Android开发如何读取并显示word和pdf文档
通过对数据库的索引,我们还为您准备了:Android开发如何读取并显示word和pdf文档呢 问:有做过类似项目的朋友讲一下么?答:大家好! 我是个Android新手,最近有个项目,其中有个需求就是在Android应用程序中查看word和pdf格式的文档(PS:不是用intent调用第三方软件打开文档哦~),可惜Android没有直接显示word和pdf文档的view。
于是本菜鸟上网查了好久好久好久哇= =...===========================================android开发中怎样读取一个文件里的内容并把内容显... 问:我以为和java的读写文件一样的,但他好像有自己的获取输入输出留的方法...答:基本上都差不多。
一般来说。
文件,XML都放在assets这个文件夹下。
===========================================android怎么读取带有图片的WORD文档 问:我以为和java的读写文件一样的,但他好像有自己的获取输入输出留的方法...答:用Document to go或者quick office这类软件就可以了。
这些软件在机锋市场和豌豆荚里一搜就有===========================================【Android开发】请问Android怎么打开word文件? 问:请问Android怎么打开word文件?网上看了好多,但都不能运行,有的说用PO...答:用quick ooffice,在百度移动应用上下载quick office(pro版),拷贝到手机,安装好就行===========================================android编程:怎样读取txt文件 问:请问Android怎么打开word文件?网上看了好多,但都不能运行,有的说用PO...答:StringBuffer buffer = new StringBuffer(); try { FileInputStream fis = new FileInputStream("/sdcard/XXX.txt"); InputStreamReader isr = new InputStreamReader(fis,"GB2312");//文件编码Unicode,UTF-8,ASCII,GB2312,Big5 Reader in = new...===========================================Android开发中读写office文件(word,ppt,excel)... 问:最近在写一个基于android平台的办公套件,其中设计到对word,ppt,excel...答:简单的,可以使用POI处理 想处理复杂和能用的,只有在服务器端处理,再返回手机android查看===========================================Android开发 ,如何读取AndroidMainfest.xml里面的... 问:AndroidMainfest.xml文件如下:我想在Androd程序中读取android:largeHea...答:largeheap是一个布尔类型的===========================================android程序中如何打开并编辑word,excel等文件? 问:我现在已经使用POI包,将内容放在html里,在webview上显示出来,但是不...答:word?excel?笑话,微软都没有开发基于安卓版本的word,不过最近应该有动作了把。
但是,你的软件和人家的软件,是属于两个APP,最多是给你个接口让你启动,但是至于编辑,你得看看人家的应用有没给你接口===========================================android开发中,如何实现读取pdf格式的文件,并把... 问:最近做关于android开发,读取pdf格式文件的应用,但是不知道如何下手啊...答:得嵌入PDF第三方软件或自己编写一个类似的打开软件吧,否则理论上是看不了的。
(仅供参考)
怎样用servlet直接在浏览器里打开一个word文档
你是想以流的方式读取word吗 读取word需要其他相关jar包的 可以用poi去处理word 网上很多的 如果是在浏览器打开,可以在web.xml中配置一下文件类型docapplication/msword然后你直接点那个word的地址 就会在浏览器打开,不过如果你电脑上的下载工具(迅雷之类的)已经安装了浏览器插件 那就不行了。
无法关闭Microsoft Office Word,因为一个对话框处于打开状态,请单...
Win7系统总弹出Microsoft word已停止工作原因很多,主要包括如下方面:一、 word版本和win7不兼容造成的。
解决方法:下载安装和win7兼容word版本。
二、word软件损坏造成的。
解决方法:卸载word软件,然后重新安装word软件。
三、电脑内存不足,造成word软件关闭。
解决方法:清理电脑缓存,关闭正在运行,其他不用软件进程。
四、电脑感染病毒造成的。
解决方法:杀毒软件全盘杀毒。
五、word配置错误造成的。
解决方法:电脑搜索“Normal.dot”这个文件,然后将其删除即可。
六、造成系统故障造成的。
解决方法:通过系统还原,修复电脑系统。
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的专业版能够直接处理非微软的档案规格。
转载请注明出处51数据库 » poi 读取 word xml