文档章节

Java从数据库导出Excel

Terell
 Terell
发布于 2017/02/16 15:53
字数 444
阅读 23
收藏 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
海淀
技术主管
Apache POI操作Excel导出JAVABEAN对象方法

Apache POI操作Excel导出方法说明 Apache的POI组件是Java操作Microsoft Office办公套件的强大API,其中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel,因为Word和PowerPoin...

JAVA枪手
2014/05/08
0
0
java基于poi实现快速操作Excel的工具[v2.1.0]版本更新

Excel4J v2.x 一. v2.x新特性 Excel读取支持部分类型转换了(如转为Integer,Long,Date(部分)等) v2.0.0之前只能全部内容转为String Excel支持非注解读取Excel内容了,内容存于对象内 现在支持导...

Crab2Died
2017/10/28
0
1
Java读取导入Excel文件解析

在编程中经常需要使用到表格(报表)的处理主要以Excel表格为主。下面给出用java读取excel表格方法:   1.添加jar文件   java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯J...

_白开水_
2013/10/24
0
8
基于 POI 封装 ExcelUtil 精简的 Excel 导入导出

注 本文是使用 org.apache.poi 进行一次简单的封装,适用于大部分 excel 导入导出功能。过程中可能会用到反射,如若有对于性能有极致强迫症的同学,看看就好。 序 由于 poi 本身只是针对于 ...

倚楼听风雨_
2017/05/22
0
22
Java Swing的Excel电子表格控件JExcel下载及详细介绍

Java Swing的Excel电子表格控件JExcel JExcel提供了简单和有效的方法整合Excel到Java Swing应用程序中,可以很容易地使用完整的Java Excel API进行显示、创建、打印、读写或修改Excel 工作薄...

netkongjian
2014/05/10
0
3

没有更多内容

加载失败,请刷新页面

加载更多

RxJS的另外四种实现方式(四)——性能最高的库(续)

接上一篇RxJS的另外四种实现方式(三)——性能最高的库 上一篇文章我展示了这个最高性能库的实现方法。下面我介绍一下这个性能提升的秘密。 首先,为了弄清楚Most库究竟为何如此快,我必须借...

一个灰
35分钟前
1
0
麒麟AI首席科学家现世

8月31日,华为发布了新一代顶级人工智能手机芯片麒麟980,成为全球首款7nm工艺手机芯片,AI方面也实现飞跃,支持人脸识别、物体识别、物体检测、图像分割、智能翻译等。 虽然如今人人都在热议...

问题终结者
昨天
1
0
告警系统主脚本、告警系统配置文件、告警系统监控项目

告警系统主脚本 main.sh内容 #!/bin/bash#Written by aming.# 是否发送邮件的开关export send=1# 过滤ip地址export addr=`/sbin/ifconfig |grep -A1 "ens33: "|awk '/inet/ {pr...

芬野de博客
昨天
2
0
MySQL autocommit探究

-- sessionA:tx_isolation=REPEATABLE-READmysql> select connection_id();+-----------------+| connection_id() |+-----------------+| 28 |+-----------------+......

安小乐
昨天
7
0
c++多线程锁 Mutex  自动判断死锁

c++多线程锁可以使用absl::Mutex std::mutex这两种,下面是demo代码。 使用absl:Mutex的时候打印: [mutex.cc : 1338] RAW: Cycle: [mutex.cc : 1352] RAW: mutex@0x683b68 stack: @ 0x43856......

青黑
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部