Java从数据库导出Excel

一、导入jar包(POI,stax,xmlbeans   ,dom4j)mysql

二、代码以下:sql

public class Export  {
    private  CrawlerDAO cd=null;
    public void exportAll(List li){
        File targetFile = null;
        try{
            List <String> list =li;
            //建立工做簿 XSSF->就是指2010版本的Excel
            XSSFWorkbook wb = new XSSFWorkbook();
            //工做表
            XSSFSheet sheet = wb.createSheet("藏品征集信息");
            //标头行,0表明第一行
            XSSFRow header = sheet.createRow(0);
            //建立单元格,第一行第一列
            XSSFCell cell0 = header.createCell(0);
            cell0.setCellValue("内容");
            //设置列的宽度,getPhysicalNumberOfCells表明这一行有多少包含数据的列
            for(int i = 0 ; i < header.getPhysicalNumberOfCells() ; i++){
                sheet.setColumnWidth(i, 255 * 20);//他用的宽度单位是1/255个字符
            }
            header.setHeightInPoints(30);//行高30像素
            for(int i = 0 ; i < list.size() ; i++ ){//将结果进行输出
                String member=list.get(i);//遍历
                XSSFRow row = sheet.createRow(i+1);//生成新行保存数据
                row.setHeightInPoints(30);
                row.createCell(0).setCellValue(member);
                System.out.println("======"+i+"======");
            }
            String fileName = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
            targetFile = new File("e:/" + fileName + ".xlsx");
            FileOutputStream fos = new FileOutputStream(targetFile);
            wb.write(fos); //向指定文件写入
            fos.close();//释放资源
            wb.close();    
            System.out.println("==>文件读写完成<====>地址为:"+targetFile+"===");
        }catch(Exception e){
            e.printStackTrace();  
            throw new RuntimeException(e);
        }    
    }    
    public static void main(String[] args) throws Exception {
         CrawlerDAO cd =new CrawlerDAO();
         List <String> li=cd.findAll();
         Export ex=new Export();
         ex.exportAll(li);
    }
}数据库

//DAO层操做数据库微信

public class CrawlerDAO  {
    public List<String> findAll() {
        List li=new ArrayList<String>();
        String cont;
        // 驱动程序名        
        String driver = "com.mysql.jdbc.Driver";  
        // URL指向要访问的数据库名world        
        String url = "jdbc:mysql://***?useUnicode=true&amp;characterEncoding=UTF-8";
        // MySQL配置时的用户名           
        String user = "***";           
        // MySQL配置时的密码          
        String password = "********";  
        try {               
            // 加载驱动程序        
            Class.forName(driver);  
            // 连续数据库       
            Connection conn = DriverManager.getConnection(url, user, password);  
            if(!conn.isClosed())          
            System.out.println("链接成功!");  
            // statement用来执行SQL语句             
            Statement statement = conn.createStatement();  
            // 要执行的SQL语句        
            String sql = "select * from zkxa_crawler";  
            // 结果集
            ResultSet rs=statement.executeQuery(sql);  
            while(rs.next())  {
                     cont= rs.getString("content");
                     li.add(cont);
                 }
            conn.close();
            return li;
        }catch(ClassNotFoundException e) {  
                System.out.println("Sorry,can`t find the Driver!,return null");
                return null;
        }catch(Exception e) {  
                System.out.println("return null");
                return null;
        }
    }
}dom

若有BUG或者须要jar包,加我微信!url

相关文章
相关标签/搜索