下面是实现xls格式文件到xml文件格式的转换,很方便,
package com.dongyang;
/*
* 读xls写xml
*/
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
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
InputStream instream = new FileInputStream("E:/123.xls");
readwb = Workbook.getWorkbook(instream);
//Sheet的下标是从0开始
//获取第一张Sheet表
Sheet readsheet = readwb.getSheet(0);
//获取Sheet表中所包含的总列数
int rsColumns = readsheet.getColumns();
//获取Sheet表中所包含的总行数
int rsRows = readsheet.getRows();
//获取指定单元格的对象引用
// 创建根节点 list;
Element root = new Element("markers");
// 根节点添加到文档中;
Document Doc = new Document(root);
for (int i = 7; i < rsRows; i++)
{
// 创建节点 user;
Element elements = new Element("marker");
for (int j = 20; j < 22; j++)
{
Cell cell = readsheet.getCell(j, i);
if(j==20){
if(null!=cell.getContents()){
elements.setAttribute("lat", cell.getContents());
}
}
if(j==21){
if(null!=cell.getContents()){
elements.setAttribute("lng", cell.getContents());
}
}
}
// 给父节点list添加user子节点;
root.addContent(elements);
}
XMLOutputter XMLOut = new XMLOutputter();
// 输出 user.xml 文件;
XMLOut.output(Doc, new FileOutputStream("E:/data.xml"));
} catch (Exception e) {
e.printStackTrace();
} finally {
readwb.close();
}
}
}
package com.dongyang;
/*
* 读xls写xml
*/
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
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
InputStream instream = new FileInputStream("E:/123.xls");
readwb = Workbook.getWorkbook(instream);
//Sheet的下标是从0开始
//获取第一张Sheet表
Sheet readsheet = readwb.getSheet(0);
//获取Sheet表中所包含的总列数
int rsColumns = readsheet.getColumns();
//获取Sheet表中所包含的总行数
int rsRows = readsheet.getRows();
//获取指定单元格的对象引用
// 创建根节点 list;
Element root = new Element("markers");
// 根节点添加到文档中;
Document Doc = new Document(root);
for (int i = 7; i < rsRows; i++)
{
// 创建节点 user;
Element elements = new Element("marker");
for (int j = 20; j < 22; j++)
{
Cell cell = readsheet.getCell(j, i);
if(j==20){
if(null!=cell.getContents()){
elements.setAttribute("lat", cell.getContents());
}
}
if(j==21){
if(null!=cell.getContents()){
elements.setAttribute("lng", cell.getContents());
}
}
}
// 给父节点list添加user子节点;
root.addContent(elements);
}
XMLOutputter XMLOut = new XMLOutputter();
// 输出 user.xml 文件;
XMLOut.output(Doc, new FileOutputStream("E:/data.xml"));
} catch (Exception e) {
e.printStackTrace();
} finally {
readwb.close();
}
}
}