java 实现 word 到 xml java word导出到xml - 电脑|办公 - 电脑办公-杀毒安全-网络-V3学习网
微商网
 
 
导航:首页 |电脑|办公|正文

java 实现 word 到 xml java word导出到xml

时间:2021-05-05 19:02:36
java 利用openoffice 转换word到html,遇到xml类型的word转换不出来 package com wds excelxml; import java io FileInput
作者:

java 实现 word 到 xml

java 利用openoffice 转换word到html,遇到xml类型的word转换不出来...

package com.wds.excelxml; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.NumberFormat; import java.text.ParseException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFDataFormatter; import org.apache.poi.hssf.usermodel.HSSFHyperlink; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import nu.xom.Attribute; import nu.xom.Document; import nu.xom.Element; import nu.xom.Elements; import nu.xom.Serializer; public class Excelxml { public static void main(String[] args) { excelxml(); } /** * 从Excel到xml * 从xml到Excel */ private static void excelxml(){ /* * 首先创建一个xml文档 * 要创建xml文档,首先创建一个根元素 */ Element reportRoot=new Element("sheet"); Document xmlReport=new Document(reportRoot); try { //读取Excel文件 FileInputStream excelFIS=new FileInputStream("D:\\JavaTest\\Employee_List.xls"); //创建Excel工作表 HSSFWorkbook excelWB=new HSSFWorkbook(excelFIS); //获得Excel工作簿 HSSFSheet excelSheet=excelWB.getSheetAt(0); //获得工作簿的行数 int rows=excelSheet.getPhysicalNumberOfRows(); //遍历工作簿的行 for(int rowIndex=0; rowIndex HSSFRow oneRow=excelSheet.getRow(rowIndex); if(oneRow==null){ continue; } //在迭代每一行的时候,创建xml的行元素 Element rowElement=new Element("row"); //获得当前行的单元格数 int cells=oneRow.getPhysicalNumberOfCells(); //遍历行中的每一个单元格 for(int cellIndex=0;cellIndex HSSFCell oneCell=oneRow.getCell(cellIndex); if(oneCell==null){ continue; } //设置元素的默认名称 String elementName="header"; //获得单元格所在列位置 int cellColumnIndex=oneCell.getColumnIndex(); if(rowIndex>0){ elementName=reportRoot.getFirstChildElement("row").getChild(cellColumnIndex).getValue(); } /* * 去掉非法字符 */ elementName = elementName.replaceAll("[\\P{ascii}]",""); elementName = elementName.replaceAll(" ", ""); Element cellElement = new Element(elementName); //添加属性和元素 //String attributeValue=oneCell.getCellStyle().getDataFormatString(); //Attribute dataFormatAttribute=new Attribute("dataFormat", attributeValue); //cellElement.addAttribute(dataFormatAttribute); /* * 根据不同的属性添加 */ Attribute strTypeAttribute=null; switch (oneCell.getCellType()) { case HSSFCell.CELL_TYPE_STRING: strTypeAttribute=new Attribute("dataType","String"); cellElement.addAttribute(strTypeAttribute); cellElement.appendChild(oneCell.getStringCellValue()); rowElement.appendChild(cellElement); break; case HSSFCell.CELL_TYPE_NUMERIC: strTypeAttribute=new Attribute("dataType","Numeric"); cellElement.addAttribute(strTypeAttribute); HSSFDataFormatter dataFormatter=new HSSFDataFormatter(); String cellFormatted=dataFormatter.formatCellValue(oneCell); cellElement.appendChild(cellFormatted); rowElement.appendChild(cellElement); break; } } if(rowElement.getChildCount()>0){ reportRoot.appendChild(rowElement); } //System.out.println(xmlReport.toXML()); }

如何用java实现xml文件转excel

几种方案: 方法一:用apache pio 读取doc文件,然后转成html文件用Jsoup格式化html文件,最后用itext将html文件转成pdf。

方法贰:使用jdoctopdf来实现,这是一个封装好的包,可以把doc转换成pdf,html,xml等格式,调用很方便 地址:中国至美.maxstocker中国/jdoctopdf/downloads.php 需要注意中文字体的写入问题。

方法三:使用jodconverter来调用openOffice的服务来转换,openOffice有个各个平台的版本,所以这种方法跟方法依一样都是跨平台的。

jodconverter的下载地址:中国至美.artofsolving中国/opensource/jodconverter 首先要安装openOffice,下载地址:中国至美.openoffice.org/download/index.html 安装完后要启动openOffice的服务,具体启动方法请自行google 方法四:效果最好的一种方法,但是需要window环境,而且速度是最慢的需要安装msofficeWord以及SaveAsPDFandXPS.exe(word的一个插件,用来把word转化为pdf) Office版本是贰00漆,因为SaveAsPDFandXPS是微软为office贰00漆及以上版本开发的插件 SaveAsPDFandXPS下载地址:中国至美.microsoft中国/zh-cn/download/details.aspx?id=漆 jacob 包下载地址:中国sourceforge.net/projects/jacob-project

求教用java 生成word!!!

1-apache的POI,此方法对Excel的导出做的很好,目前对Word的导出方面的功能尚未完全。

2-纯JavaScript脚本实现。

主要通过客户端调用本机Office组件来实现。

3-在JSP页面引入头文件实现。

纯JavaScript脚本实现细节方面大体是创建一个word组件ActiveXObject("Word.Application"),用js通过表ID取得表内容然后保存到word,要注意的是js实现有很多不好的地方,例如Internet选项需要把ActiveX空间全部启用,安全级别设置为中。

这样的话岂不是每台机器都要配置一下。

其次每次生成word文档以后弹出对话框(无法保存此文件,因为它已在别处打开(C:\...\STARTUP\Powerword.dot)),出现此问题就需要把C:\Documents and Settings\当前用户名\Application Data\Microsoft\Word\STARTUP下的Powerword.dot文件删除,每次遇到此问题就需要删除文件来解决,十分不方便。

JSP页面引入来实现Word保存就方便多了,但是也有不足的地方,首先如果需要引入如果需要下载的话就引入其实如果大家用框架做就方便多了,比如Struts2。

在Action里直接写如下代码:if(out!=null){String fileName="";fileName+="评价报告.doc";try {HttpServletResponse response = ServletActionContext.getResponse();response.setHeader("Content-disposition","attachment; filename="+new String(fileName.getBytes("GB2312"), "8859_1"));} catch (UnsupportedEncodingException e) {e.printStackTrace();}out是jsp页面表单元素,一个button,用于提交表单到相应Action进行Word下载。

Action设置jsp页面头文件。

这样每次点击button就可以把相应jsp页面的内容保存到Word中并且支持下载,Word中内容并且是可编辑状态。

不足的地方在于由于表内容是动态生成,有的需要先查看在下载Word,就需要另外建立一个新JSP页面进行Word下载,当然首先要在struts.xml里配置好页面转向。

新建立的页面传值同查看页面要保持一样。

JAVA中用XML实现INI文件格式的解决方法是怎样的?

要用到XML记录用户注册的数据库连接地址、端口等信息,最开始想用java的popetie类来完成。

但popetie不支持[小结名--键值名--键值]这种结构,如果要记录用户注册的多个数据库信息的话,popetie中就必须用[小结名.键值名=键值]这种格式进行记录,后来用到xml,完成了类似ini文件读取和保存的功能,删除功能目前还没做,要实现很简单,所以就没包含在代码里面了。

这是xml文件的格式: 162.105.167.4 5000 cp850 Syase BB_CRM 162.105.167.2 7000 cp850 Syase JYGS_JXC 162.105.167.4 5000 cp850 Syase BB_CRM 162.105.167.2 7000 cp850 Syase JYGS_JXC 希望我的回答可以帮到你。

java中怎么实现读取word.doc文档分辨标题,文号,签发日期等信息

在Java中实现DOM文档和XML文件互相转换 文简要描述了DOM的概念和内部逻辑结构,实例讲述DOM文档操作和XML文件互相转换的java实现过程。

1. DOM简介 目前,W3C已于2000年11月13日推出了规范DOM level 2。

文档对象模型(DOM)是HTML和XML文档的编程接口规范,它与平台和语言是无关的,因而可以用各种语言在各种平台上实现。

该模型定义了THML和XML文件在内存中的逻辑结构(即为文档),提供了访问、存取THML和XML文件的方法。

利用DOM规范,可以实现DOM 文档和XML之间的相互转换,遍历、操作相应DOM文档的内容。

可以说,要自由的操纵XML文件,就要用到DOM规范。

2. DOM内部逻辑结构 DOM文档中的逻辑结构可以用节点树的形式进行表述。

通过对XML文件的解析处理,XML文件中的元素便转化为DOM文档中的节点对象。

DOM的文档节点有Document、Element、Comment、Type等等节点类型,其中每一个DOM文档必须有一个Document节点,并且为节点树的根节点。

它可以有子节点,或者叶子节点如Text节点、Comment节点等。

任何的格式良好的XML文件中的每一个元素均有DOM文档中的一个节点类型与之对应。

利用DOM接口将XML文件转化成DOM文档后,我们就可以自由的处理XML文件了。

3. java中的DOM接口 DOM规范提供的API的规范,目前Sun公司推出的jdk1.4测试版中的java API遵循了 DOM level 2 Coe推荐接口的语义说明,提供了相应的java语言的实现。

在og.xml.dom中,jkd1.4提供了Document、DocumentType、Node、NodeList、Element、Text等接口,这些接口均是访问DOM文档所必须的。

我们可以利用这些接口创建、遍历、修改DOM文档。

在javax.xml.pases中,jkd1.4提供的DoumentBuilde和DocumentBuildeFactoy组合可以对XML文件进行解析,转换成DOM文档。

在javax.xml.tansfom.dom和javax.xml.tansfom.steam中,jdk1.4提供了DOMSouce类和SteamSouce类,可以用来将更新后的DOM文档写入生成的XML文件中。

4. 例程 4.1 将XML文件转化成DOM文档 这个过程是获得一个XML文件解析器,解析XML文件转化成DOM文档的过程。

Jdk1.4中,Document接口描述了对应于整个XML文件的文档树,提供了对文档数据的访问,是该步骤的目标。

Document接口可以从类DocumentBuilde中获取,该类包含了从XML文档获得DOM文档实例的API。

XML的解析器可以从类DocumentBuildeFactoy中获取。

在jdk1.4中,XML文件转化成DOM文档可以有如下代码实现

java写入xml转义问题(操作WORD2007)

有个最简单,不用使用任何 poi 或其他第三方类库的方法生成 excel ,或 word ,你把一个生成好的 word 例子用文件另存为 xml , docx 之类,然后你再直接用记事本去打开这个 docx ,你就会发现是 xml 格式,这个时候,你在程序里面就直接用普通代码生成这个 xml 就可以了。

大家还关注
    
阅读排行
推荐阅读