package net.java2000.forum.tools;
import java.io.File;
import jxl.Sheet;
import jxl.Workbook;
import net.java2000.common.University;
import net.java2000.common.service.ProvinceService;
import net.java2000.common.service.UniversityService;
import net.java2000.forum.util.Factory;
import net.java2000.tools.StrTools;
public class UniversityImport {
public static void main(String[] args) throws Exception {
UniversityService us = (UniversityService) Factory.getBean("UniversityService");
ProvinceService ps = (ProvinceService) Factory.getBean("ProvinceService");
Workbook wb = Workbook.getWorkbook(new File("e:/Univercity.xls"));
Sheet sheet = wb.getSheet(0);
int rows = sheet.getRows();
University u = null;
String id = null;
String name = null;
for (int i = 1; i < rows; i++) {
try {
id = sheet.getCell(0, i).getContents();
name = sheet.getCell(1, i).getContents();
if (!StrTools.isBlank(id) && !StrTools.isBlank(name)) {
u = new University();
u.setProvince(ps.get(new Long(id)));
u.setName(name);
us.save(u);
}
} catch (Exception ex) {
System.out.println(i + "=" + id + "/" + name);
}
}
wb.close();
}
}
这个是我的一个JPA的应用,可以去掉那些无用的注释,变成POJO就行了!
package net.java2000.common;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
/**
* 大学
*
* @author 赵学庆 www.java2000.net
*/
@Entity
@Table(name = "T_University")
public class University {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
@ManyToOne
@JoinColumn(name = "provinceId")
private Province province;
/**
* @return the id
*/
public long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(long id) {
this.id = id;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the province
*/
public Province getProvince() {
return province;
}
/**
* @param province the province to set
*/
public void setProvince(Province province) {
this.province = province;
}
}
程序里面的保存代码,你就不要考虑了,用任何可以保存到数据库的方法均可以
使用的Excel文档,里面只有如下几个字段
1 ID,是所属省份的ID
2 Name 是大学的名字
UnivercitySimple.zip (88316)
UnivercitySimple.zip