Advertisement

java 读取数据库数据并写出到Excel表中。

阅读量:

1.先导入依赖

复制代码
    <!-- EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单,节省内存著称,今天我们来使用阿里巴巴开源的EasyExcel框架来实现Excel的导入导出功能。 -->
    		<dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>easyexcel</artifactId>
    			<version>2.2.4</version>
    		</dependency>

2.根据数据库表中的字段创建实体类。

复制代码
    package com.wf.dbutils;
    
    import com.alibaba.excel.annotation.ExcelProperty;
    
    public class users {
    	@ExcelProperty("header1")
    	private String id;
    	@ExcelProperty("header2")
    	private String loginname;
    	@ExcelProperty("header3")
    	private String loginpass;
    
    	@Override
    	public String toString() {
    		return "users [id=" + id + ", loginname=" + loginname + ", loginpass=" + loginpass + "]";
    	}
    
    	public String getId() {
    		return id;
    	}
    
    	public void setId(String id) {
    		this.id = id;
    	}
    
    	public String getLoginname() {
    		return loginname;
    	}
    
    	public void setLoginname(String loginname) {
    		this.loginname = loginname;
    	}
    
    	public String getLoginpass() {
    		return loginpass;
    	}
    
    	public void setLoginpass(String loginpass) {
    		this.loginpass = loginpass;
    	}
    
    }

3.从数据库中读取出数据,并写入到Excel中。

复制代码
    package com.wf.dbutils;
    
    import java.io.IOException;
    import java.sql.SQLException;
    import java.util.List;
    
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.BeanHandler;
    import org.apache.commons.dbutils.handlers.BeanListHandler;
    
    import com.alibaba.excel.EasyExcel;
    
    import com.wf.dbtest.User;
    import com.wf.dbtestpool.JDBCUtils;
    
    public class DBUtils {
    	public static void main(String[] args) {
    //		List<?> list = queryDB();
    //		for (Object object : list) {
    //			System.out.println(object);
    //		}
    		String fileName = "D:/a/b.xlsx";
    		EasyExcel.write(fileName,users.class).sheet("表格1").doWrite(queryDB());
    	}
    
    	/** * 获取数据库中表的数据
    	 * * @return
    	 */
    	private static List<?> queryDB() {
    		QueryRunner runner = new QueryRunner(JDBCUtils.getSource());
    		String sql = "select * from t_user_test";
    		List list = null;
    		try {
    			list = runner.query(sql, new BeanListHandler(User.class));
    //			System.out.println(list);
    //			for (Object object : list) {
    //				System.out.println(list);
    //			}
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return list;
    	}
    
    }

全部评论 (0)

还没有任何评论哟~