package mutixmlout;/** *//** * @author Alex * @msg 把列记录的xml转化为excel */import java.awt.Color;import java.io.*;import java.util.List;import java.util.Vector;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.DefaultTableModel;import org.dom4j.Document;import jxl.*;import jxl.write.*;import jxl.write.biff.RowsExceededException;public class XMLExcel ...{ public void printxls() ...{ WritableWorkbook book = null; String[] name = null; List collist = null; List datalist = null; List subcollist = null; List subrowlist = null; WritableSheet sheet = null; File folder = new File("D://excel"); if (!folder.exists()) ...{ folder.mkdir(); } try ...{ book = Workbook.createWorkbook(new File(folder + "/result.xls")); } catch (IOException e) ...{ e.printStackTrace(); } XlsOut dom4j = new XlsOut(); try ...{ String url = "D:/xml/selectdatainfo.xml"; Document tdoc = dom4j.parse(url); name = dom4j.database(tdoc); Document cdoc = dom4j.parse(url); collist = dom4j.colList(cdoc); Document rdoc = dom4j.parse(url); datalist = dom4j.rowList(rdoc); } catch (Exception e) ...{ System.out.println(e.getMessage()); } ////////////////////////////////////////////////////////////////// for (int i = 0; i < name.length; i++) ...{ // 进行附值 int page=i+1; sheet = book.createSheet(name[i], i); subcollist = (List) collist.get(i); subrowlist = (List) datalist.get(i);// try {// sheet.addCell(new Label(0, 0, (String) name[i]));// } catch (RowsExceededException e2) {// // TODO Auto-generated catch block// e2.printStackTrace();// } catch (WriteException e2) {// // TODO Auto-generated catch block// e2.printStackTrace();// } //列 for (int j = 0; j < subcollist.size(); j++) ...{ try ...{ sheet.addCell(new Label(j, 0, (String) subcollist.get(j))); } catch (RowsExceededException e1) ...{ // TODO Auto-generated catch block e1.printStackTrace(); } catch (WriteException e1) ...{ // TODO Auto-generated catch block e1.printStackTrace(); } } System.out.println(".................................."); //行 int m = 0, n = 1; for (int k = 0; k < subrowlist.size(); k++) ...{ try ...{ sheet.addCell(new Label(m, n, (String) subrowlist.get(k))); m++; if (m % subcollist.size() == 0) ...{ m = 0; n++; continue; } } catch (RowsExceededException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } catch (WriteException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println(".................................."); } try ...{ book.write(); book.close(); } catch (WriteException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } } /////////////////////////////////////////////////////////////////////// public static void main(String[] args) ...{ XMLExcel xe = new XMLExcel(); xe.printxls(); }}