一般用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();
}
}
}
jdom的相关下载可以到这里去http://www.jdom.org/downloads/index.html