文档章节

Java从数据库导出Excel

Terell
 Terell
发布于 2017/02/16 15:53
字数 444
阅读 28
收藏 1

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

2、代码如下:

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;
        }
    }
}

如有BUG或者需要jar包,加我微信!

© 著作权归作者所有

共有 人打赏支持
Terell
粉丝 1
博文 17
码字总数 10150
作品 0
海淀
技术主管
私信 提问
Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表

在上一篇博客中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式。不仅仅简单的读取office中的数据.尤其是在生产管理...

长平狐
2012/11/12
1K
0
XXL-EXCEL v1.1.1 发布,Java 对象和 Excel 转换工具

v1.1.1 新特性 1、支持设置Field水平位置,如居中、居左; 2、底层API优化,预约多Sheet操作支持; 3、空Cell导入抛错问题修复; 4、Cell数据类型识别优化,全类型支持; 5、导入时支持空Exc...

许雪里
2018/10/24
1K
9
Java对象和Excel转换工具XXL-EXCEL

《Java对象和Excel转换工具XXL-EXCEL》 ![donate](http://

许雪里
2017/09/13
0
0
spreadsheet-mapper 1.0.6 发布

项目简介 用excel导入、导出数据是企业软件里很常见的需求,但是要实现好导入、导出并非易事,主要原因在于excel导入或导出并非简单的对数据库表的操作,往往牵涉到校验、转换等工作。 本项目...

jarchan
2017/04/08
1K
10
在java中怎么去定义一个数据库视图,试图列为ID,GMR和日期,日期是可以随时间增加的

@阿信sxq 你好,想跟你请教个问题:在java中定义数据库视图,然后把视图导出到Excel表格中,怎么用java去实现,视图字段就是上面说的那些字段,日期的字段需要动态来写,求教怎么写.谢谢了...

最爱小糖宝
2016/05/27
169
2

没有更多内容

加载失败,请刷新页面

加载更多

利用神器BTrace 追踪线上 Spring Boot应用运行时信息

概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值、外部调用情况 以及 函数执行时间等信...

CodeSheep
53分钟前
4
0
OSChina 周四乱弹 —— 我想过年请假提前回家两天

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 分享王力宏的单曲《爱错》 《爱错》- 王力宏 手机党少年们想听歌,请使劲儿戳(这里) @Caremorele :这几天起床有点...

小小编辑
今天
169
7
Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
3
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部