把Excel表转换XML文档(java实现jxl+jdom)

1 篇文章 0 订阅

接上一博客,综合实习要求通过Excel表导入,并且基于XML实现,想到需要需要转换Excel到XML。

 

1.      首先创建Excel表  学生.xls  完成后放在D盘根目录下。

 

 3行3列的内容 

     1   撒旦     22

     2   他也     23

     3  tom       24

 

 

2.      java程序需要导入jdom.jar 和jxl.jar 可从网络下载

import java.io.*;

import org.jdom.*;

import org.jdom.output.Format;

import org.jdom.output.XMLOutputter;

import jxl.*;

public class ReadXLS {

    public static void main(String[] args) {

       // TODO Auto-generatedmethod stub

       try {/*

               * Workbook book=Workbook.getWorkbook(new File("C://测试.xls"));

               * //获得第一个工作表对象 Sheet sheet=book.getSheet(0); //得到第一列第一行的单元格

               * Cellcell1=sheet.getCell(0,0); String

               *result=cell1.getContents(); System.out.println(result);

               * book.close();

               */

           String sourcefile = "D://学生.xls";

           InputStream is = new FileInputStream(sourcefile);

           jxl.Workbook rwb = Workbook.getWorkbook(is);

           // 获得Sheet 1

           Sheet sheet = rwb.getSheet(0);

 

           String sheetName = sheet.getName();

           System.out.println(sheetName);

 

           int sheetColumns = sheet.getColumns();

           System.out.println("行数" + sheetColumns);

 

           int sheetRows = sheet.getRows();

           System.out.println("列数" + sheetRows);

           Element root, student, number, name, age;

 

           root = new Element("学生信息"); // 生成根元素:student-info

 

           Document doc = new Document(root); // 将根元素植入文档doc中

           for (int i = 0; i < sheetColumns; i++) {

              student = new Element("学生" + (i + 1)); // 生成元素:student(number,name,age)

 

              number = new Element("学号");

 

              name = new Element("姓名");

 

              age = new Element("年龄");

              for (int j = 0; j < sheetRows; j++) {

                  Cell cell1 = sheet.getCell(j, i);

                  String result = cell1.getContents();

                  System.out.println(result);

                  if (j == 0) {

                     number.setText(result);

                  }

                  if (j == 1) {

                     name.setText(result);

                  }

                  if (j == 2) {

                     age.setText(result);

                  }

 

              }

              student.addContent(number);

 

              student.addContent(name);

 

              student.addContent(age);

 

              root.addContent(student);

           }

 

           Format format = Format.getCompactFormat();

 

           format.setEncoding("gb2312"); // 设置xml文件的字符为gb2312

 

           format.setIndent("    "); // 设置xml文件的缩进为4个空格

 

           XMLOutputter XMLOut = new XMLOutputter(format);// 元素后换行一层元素缩四格

 

           XMLOut.output(doc, new FileOutputStream("D://学生.xml"));

 

       } catch (Exception e) {

           System.out.println(e);

       }

 

    }

}

 

 

 

本来是一个jxl读Excel的程序(中间注视部分),经过改动可以在D盘根目录下生成   学生.xml

今天问了一下指导老师,老师让我先实现通过Excel导入数据库,之后在涉及XML.XML模板什么的完全不知道,对XML的了解还差得远。之后几天将要重点了解jxl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值