java进行xls转xml

来源:互联网 发布:程序员加薪申请 编辑:程序博客网 时间:2024/06/06 01:19

一般用java语言来做excel表格的解析有两种常用的方法,poi或者jxl,

有关poi的使用可以参考点击打开链接

下面是用jxl解析excel文档,并输出到xml文件中,注释在代码中


package com.breeze.test;import java.io.File;import java.io.FileOutputStream;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import org.jdom2.Document;import org.jdom2.Element;import org.jdom2.output.XMLOutputter;public class Excel2xml{public static void main(String[] args){Excel2xml e = new Excel2xml();e.ret();}public void ret() {jxl.Workbook readwb = null;try{// 构建Workbook对象, 只读Workbook对象// 直接从本地文件创建Workbook,将test.xls放在工程根目录下readwb = Workbook.getWorkbook(new File("test.xls"));// 创建根节点Element roots = new Element("root");// 根节点添加到文档中;Document doc = new Document(roots);//循环输出每个sheet到一个xml中for (int m = 0; m < readwb.getNumberOfSheets(); m++) {Sheet readsheet = readwb.getSheet(0);// 获取Sheet表中所包含的总列数int rsColumns = readsheet.getColumns();// 获取Sheet表中所包含的总行数int rsRows = readsheet.getRows();// 创建sheet根节点Element root = new Element("sheet"+m);//对每行分别解析for (int i = 0; i < rsRows; i++){// 创建节点 sub;Element elements = new Element("sub");//解析每列for (int j = 0; j < rsColumns; j++){//取出每个单元格Cell cell = readsheet.getCell(j, i);if (cell.getContents() == "") {continue;}elements.addContent("\n");elements.addContent("\t");elements.addContent("\t");elements.addContent("\t");Element element = new Element("cell");//设置节点的属性,同时处理回车换行if (cell.getContents().contains("\r\n")) {element.setAttribute("value", " ");} else {element.setAttribute("value", cell.getContents());}elements.addContent(element);}elements.addContent("\n");elements.addContent("\t");elements.addContent("\t");root.addContent("\n");root.addContent("\t");root.addContent("\t");root.addContent(elements);}root.addContent("\n");root.addContent("\t");roots.addContent("\n");roots.addContent("\t");roots.addContent(root);}roots.addContent("\n");XMLOutputter XMLOut = new XMLOutputter();// 输出data.xml 文件;XMLOut.output(doc, new FileOutputStream("data.xml"));} catch (Exception e) {e.printStackTrace();} finally {readwb.close();}}}


这里是jxl的最新包下载http://www.andykhan.com/jexcelapi/download.html 

jdom的相关下载可以到这里去http://www.jdom.org/downloads/index.html

原创粉丝点击