zoukankan      html  css  js  c++  java
  • Java:将数据库数据导出到Excel (一眼就看会)

    所用Jar包

    1. sqljdbc4.jar

    连接数据库的Jar包(根据数据库的不同进行选择,我用的SqlServer2008)

    2.Jxl.jar

    访问Excel的Jar包

    注意:支持以.xls结尾的Excel文件,可能不支持.xlsx结尾的 

    实现效果:

    数据库数据:

    导出的Excel:

    完整代码:

    导出的核心代码就四五行

    类里需要import的包也都贴上:

    package xsl;
    
    import java.io.File;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import jxl.Workbook;
    import jxl.write.Label;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;
    import jxl.write.WriteException;
    import jxl.write.biff.RowsExceededException;
    
    public class Export {
    
    	 public static void main(String[] args) throws RowsExceededException, WriteException, IOException {
    	        
    	        //1. 导出Excel的路径
    	        String filePath = "C:/export.xls";
    	        WritableWorkbook wwb =null;
    	        
    	        try {
    	            wwb = Workbook.createWorkbook(new File(filePath));
    	        } catch (Exception e) {
    	            e.printStackTrace();
    	        }
    	        
    	        //创建Excel表的"学生"区域的数据
    	        WritableSheet sheet = wwb.createSheet("学生",0);//或者rwb.getSheet(0)获取第一个区域
    	        try {
    	            //2. 连接数据库的几行代码
    	            Connection con = null;  
    	            PreparedStatement ps = null; 
    	            ResultSet rs = null;
    	            String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test;";
    	            String sql = "select * from students"; 
    	            con = DriverManager.getConnection(url, "sa", "123456");
    	            ps = con.prepareStatement(sql);// SQL预处理  
    	            rs = ps.executeQuery();
    	            //ResultSet是数据库中的数据,将其转换为List类型
    	            List<Student> list = new ArrayList<Student>();
    	            while(rs.next()){
    	            	Student stu = new Student();
    	            	stu.setId(rs.getInt("id"));
    	            	stu.setName(rs.getString("name"));
    	            	list.add(stu);
    	            }
    	            ps.close();  
    	            con.close();          
    	            for(int i = 0; i<list.size(); i++){
    	            	//Number对应数据库的int类型数据
    	            	sheet.addCell(new jxl.write.Number(0,i,list.get(i).getId()));
    	            	//Label对应数据库String类型数据
    	            	sheet.addCell(new Label(1,i,list.get(i).getName()));
    	            }
    	            wwb.write();
    	            
    	        } catch (SQLException e) {
    	            e.printStackTrace();
    	        }finally{
    	        	wwb.close();
    	        }
    	        
    	        
    	    }
    
    }
    

      

    写的比较乱,但是可运行,因为我也是刚学会,才看了一会儿,以后深入了解后,再来整理

  • 相关阅读:
    poj3273Monthly Expense
    poj2516Minimum Cost
    poj1201Intervals(差分约束)
    poj3122Pie
    poj3258River Hopscotch
    hdu3308LCIS(线段树区间合并)
    CF1178F2 Long Colorful Strip
    CF906C Party
    [NOI2002]贪吃的九头龙
    CF1178F1 Short Colorful Strip
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/7879771.html
Copyright © 2011-2022 走看看