最代碼廣告位
nongzha的gravatar頭像
nongzha2015-06-15 11:11:02

java通過jxls框架實現導入導出excel文件實例

//使用jxls報表生成工具,把java實體類導出生成 Excel文件或導入 Excel 插入數據庫

//讀取

public class ReadExcel {
	private final static String xmlConfig="student.xml";
	public List read(){
		InputStream inputXML = new BufferedInputStream(ReadExcel.class.getResourceAsStream(xmlConfig));
        XLSReader mainReader;
        String path=ReadExcel.class.getResource("/").getPath();
        path=path.substring(1,path.indexOf("/WebRoot")+1)+"WebRoot/Excel/stu.xls";
		try {
			mainReader = ReaderBuilder.buildFromXML(inputXML );
			 InputStream inputXLS = new BufferedInputStream(new FileInputStream(path));
		        Student stu=new Student();
		        List students = new ArrayList();
		        Map beans = new HashMap();
		        beans.put("stu", stu);
		        beans.put("students", students);
		        XLSReadStatus readStatus = mainReader.read(inputXLS, beans);
		        return students;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public static void main(String[] args) {
		ReadExcel re=new ReadExcel();
		List<Student> list=re.read();
		System.out.println("ID\t  name\t  subject\t  score");
		for(Student stu:list){
			System.out.println(stu.getIdname()+"\t  "+stu.getName()+"\t  "+stu.getSubject()+"\t  "+stu.getScorename());
		}
	}
}

 

//寫入
public class WriteExcel {
	
	public static void write(List list){
		List students = new ArrayList();
        Map beans = new HashMap();
        beans.put("students", list);
        XLSTransformer transformer = new XLSTransformer();
        String path=ReadExcel.class.getResource("/").getPath();
        path=path.substring(1,path.indexOf("/WebRoot")+1)+"WebRoot/Excel/";
        try {
			transformer.transformXLS(path+"/student.xls", beans, path+"/stus.xls");
		} catch (ParsePropertyException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
	public List getStudetns(){
		List<Student> list=new ArrayList<Student>();
		Student stu=null;
		PreparedStatement pre=null;
		ResultSet re=null;
		try{
			pre=DBConector.getCon().prepareStatement("select * from student");
			re=pre.executeQuery();
			while(re.next()){
				stu=new Student();
				stu.setId(re.getLong(1));
				stu.setName(re.getString(2));
				stu.setSubject(re.getString(3));
				stu.setScore(re.getLong(4));
				list.add(stu);
			}
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			try{
				if(re!=null)
					re.close();
				if(pre!=null)
					pre.close();
			}catch(Exception e){
			}
			
		}
		return list;
	}
	public static void main(String[] args) {
		WriteExcel w=new WriteExcel();
		w.write(w.getStudetns());
	}
}
//sql
create table STUDENT
(
  ID      NUMBER(8) not null primary key,
  NAME    VARCHAR2(50) not null,
  SUBJECT VARCHAR2(50) not null,
  SCORE   NUMBER(8)
)

Excel模板文件:

java通過jxls框架實現導入導出excel文件實例

對應Excel文件

java通過jxls框架實現導入導出excel文件實例


打賞

文件名:jxls-poi.rar,文件大小:2850.34K下載
最代碼最近下載分享源代碼列表最近下載
1848472526 LV142019年10月15日
月亮月亮月亮星星星星
zhao823 LV152019年9月17日
月亮月亮月亮星星星星星星
廣西吳彥祖 LV62019年7月31日
月亮星星星星
張韶崢 LV12019年6月12日
星星
xtm123 LV172019年3月29日
太陽星星
2235140624 LV122019年2月25日
月亮月亮月亮
wh5200 LV112019年1月21日
月亮月亮星星星星星星
VICTORYll LV122018年11月14日
月亮月亮月亮
明仔兒 LV12018年11月12日
星星
zhoujunyu LV142018年10月30日
月亮月亮月亮星星星星
最代碼最近瀏覽分享源代碼列表最近瀏覽
BCatZSY LV72月10日
月亮星星星星星星
暫無貢獻等級
raoqichen LV11月4日
星星
wei199 LV62019年12月29日
月亮星星星星
FunnyKing LV192019年12月6日
太陽星星星星星星
wx19941125 LV102019年11月22日
月亮月亮星星星星
牛銳123456 LV22019年11月18日
星星星星
zhangmim LV82019年11月8日
月亮月亮
humphrey2020 LV22019年11月3日
星星星星
A1299492670 LV42019年10月30日
月亮
頂部客服微信二維碼底部
>掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
2008大乐透走势图