java 为什么将excel转换成xml

如题所述

实现思路:
直接从Excel文件装换成XML文件是可以实现的,这里我采用一个中间装换,也就是先实现excel文件内容放入实现设计好的access数据库文件中,然后再从access中读取记录写道xml文件中,因为我这里的实际问题是把多个excel表,每个表中又有多个sheet工作薄,这样我先导入数据库中,也方便修改和处理.

这样,需要写两个类:
XlsToAccess类,用来实现从excel文件根据事先约定的格式,按照数据库设计字段存放进去
AccessToXml类,用来实现从access文件数据库中的记录按约定格式写到xml文件中去
然后还需要一个主运行窗口类XlsToXml,这个类我们使用eclipse插件SWT Designer来完成
最后把工程打成JAR包,再用NativeJ将Jar包生成为可执行的exe文件
开发工具:
Eclipse3.1.2 for window
SWT Designer5.0.0 for Eclipse3.1.x
NativeJ编译可执行文件
开发环境:Microsoft Windows XP sp2 Home 或者 Professional
其他:
准备excel文件,放到D:/temp下,取名为test.xls
准备access文件,设计表名为custom,四个字段,均是文本类型,字段名可以自己定,在xml文件中会用字段名作为节点名,同样放到D:/temp下,取名为test.mdb
手工建立一个ODBC,在系统DSN中建立一个名为asima的数据源,数据库文件就指向D:/temp的test.mdb
需要安装一个JRE runtime运行环境,这个可以从Sun公司网站下下到
1. 安装Eclipse3.1.2
因为Eclipse3.1.X版本要求的Java版本是1.4.1及以上,如果运行Eclipse.exe系统提示错误,如图

那么可以在Eclipse.exe目录下新建一个auto.bat,内容为:

set JAVA_HOME=c:/java1.4.2/;
set PATH=c:/java1.4.2/bin/;
eclipse.exe

这样直接运行auto.bat文件就可以运行eclipse了
2. 安装Eclipse插件SWT Designer_v5.0.0
从网站地址:http://www.swt-designer.com可以下载到对应版本,解压后的目录plugins下的两个子目录,分别复制到Eclipse的features和plugins目录中这样就可以了(或者参考eclipse插件的安装)
打开Eclipse,File->New->other中我们可以看到Designer项,那么说明这个插件安装成功了(如果看不到,尝试在auto.bat在Eclipse后加入参数clean,即eclipse -clean),需要进行注册,如果机器不能上网,到一台注册过的机器中把C:/Documents and Settings/[username]/Instantiations.license复制粘贴到对应的目录中
3. 新建一个SWT/JFace Java Project工程
打开Eclipse,File->New->Other,在弹出的窗口中找到Designer(这说明安装上述插件成功),再选择SWT/JFace Java Project

在ProjectName中输入xlstoxml,然后在Project layout中选择Create separate source and output folders(这样可以把java文件和class文件分离开,方便我们对源代码的处理)

Next->,然后finish,右边的资源试图中如图

4. 添加几个读取excel和写xml需要的jar包
在xlstoxml项目上新建一个folder,取名lib,在此folder上import四个jar包(选择Archive file),分别是jdom.jar(生成xml需要使用的),三个操作excel表的jar包:
poi-3.0-alpha1-20050704.jar、poi-contrib-3.0-alpha1-20050704.jar、
poi-scratchpad-3.0-alpha1-20050704.jar;(这一步不一定非要导入到新建的lib中来,这样做呢只是能方便管理自己的这些lib包,以下操作才是关键)
在xlstoxml项目上,右键->Build Path->Add External Archives,(也可以在Libraries中,点中Add External JARS…)加入这四个jar包,这很关键

5. 创建package包,建立class文件
完成excel文件转换成xml格式的文件,思路是将excel文件中的内容读入到Access文件中,然后再从Access文件中写入到xml文件里,那么除了主运行窗口类外,还需要连个类分别完成以上两步
在src目录上右键->New->Package,在新弹出的窗口中Name输入com.asima,然后再在此package上右键->New->Class,新弹出的窗口中Name处输入XlsToAccess,不要勾选public static void main(String[] args),然后finish
按此方法再建立一个类取名为和AccessToXml
6. 创建Application Window
在com.asima上右键->New->Designer->SWT->Application Window,弹出的Name中输入XlsToXml,勾选public static main() method,finish
温馨提示:答案为网友推荐,仅供参考