接上一博客,综合实习要求通过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