nongzha的gravatar头像
nongzha 2015-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 下载
最代码最近下载分享源代码列表最近下载
王涛的1  LV1 2023年8月4日
jinandfei  LV12 2021年12月8日
sl0018  LV13 2021年9月23日
1_2_3_4_5_6_7  LV1 2021年2月21日
hdf999  LV12 2021年1月13日
子陵96  LV4 2020年9月7日
wjh12345654321  LV14 2020年7月17日
zmy001  LV11 2020年5月19日
丫丫123456  LV3 2020年2月26日
1848472526  LV15 2019年10月15日
最代码最近浏览分享源代码列表最近浏览
王涛的1  LV1 2023年8月4日
gvin001  LV14 2023年5月11日
暂无贡献等级
是你爸爸啊100  LV5 2022年8月8日
duanyui  LV3 2022年4月13日
微信网友_5845420553359360  LV4 2022年2月25日
jinandfei  LV12 2021年12月8日
Yanxigul 2021年12月1日
暂无贡献等级
tansuo阿郎  LV8 2021年11月29日
2949689746  LV1 2021年11月2日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友