java进行xls转xml

一般用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

你可能感兴趣的:(java,xml,exception,String,Excel,文档)