xuketry
2012-01-07 09:39
浏览 408
已采纳

用opencsv做导出数据生成csv文件 有实例没????

有高手给个实例没

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • iteye_16709 2012-01-08 09:20
    已采纳

    [code="java"]
    驱动程序名

    public void exportToCSV() throws Exception{
    String driver = "com.mysql.jdbc.Driver";

    // URL指向要访问的数据库名scutcs

    String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
    // MySQL配置时的用户名
    String user = "root";
    // Java连接MySQL配置时的密码
    String password = "root";

    try {
    // 加载驱动程序
    Class.forName(driver);
    // 连续数据库
    Connection conn = DriverManager.getConnection(url, user, password);
    if(!conn.isClosed())
    System.out.println("Succeeded connecting to the Database!");
    // statement用来执行SQL语句
    Statement stmt= conn.createStatement();
    // 要执行的SQL语句
    String sql = "select * from student";
    ResultSet rs = stmt.executeQuery(sql);
    CSVWriter writer = new CSVWriter(new FileWriter("yourfile.csv"), '\t');
    String [] includeHeaders = {"col1","col2"};//表头
    writer.writeAll(rs , includeHeaders);
    writer.close();//关闭文件流
    } finally {
    release(rs,stmt,conn );
    }
    }

    //关闭数据库连接
    private void release(ResultSet rs,Statement stmt,Connection conn)
    throws SQLException {
    try {
    if(rs!=null) {
    rs.close();
    }
    } finally {
    try {
    if(stmt!=null){
    stmt.close();
    }
    } finally {
    if(con!=null) {
    con.close();
    }
    }
    }
    }
    [/code]

    点赞 打赏 评论
  • iteye_16709 2012-01-07 09:52

    请问你是讲excel 还是其他什么 导出为csv?你的数据源是什么,数据源的格式是什么。

    点赞 打赏 评论
  • renpeng301 2012-01-07 10:17
    点赞 打赏 评论
  • iteye_16709 2012-01-07 22:20

    [quote]数据库是mysql,将数据库中的数据导出生成csv格式文件[/quote]
    那这个就很简单了 呵呵!
    [code="java"]
    java.sql.ResultSet myResultSet = ....
    writer.writeAll(myResultSet, includeHeaders);
    [/code]

    看看这个:
    [url]
    http://opencsv.sourceforge.net/
    [/url]

    点赞 打赏 评论
  • iteye_16709 2012-01-07 22:21

    1.首先连接sql数据库
    2.查询出需要到处的数据集
    3.用CSVWriter将结果集 导出 既可以了。

    就上面3个步骤。

    点赞 打赏 评论
  • iteye_16709 2012-01-08 09:26

    [code="java"]
    writer.close();//关闭文件流

    [/code]

    这里写的有问题把关闭文件流放到finally中
    [code="java"]
    finally {

    writer.close();//关闭文件流

    release(rs,stmt,conn );

    }
    [/code]

    把conn,stmt,rs,writer的申明都落到try的外面。
    [code="java"]
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    CSVWriter writer = null;
    [/code]

    点赞 打赏 评论
  • iteye_16709 2012-01-08 09:44

    我没有MYSQL 没有运行代码 刚才检查发现 还有一个问题:
    [code="java"]
    new CSVWriter(new FileWriter("yourfile.csv"), '\t');
    [/code]
    这里的分割符号是'\t'TAB键不行,改为逗号 (Comma)
    [code="java"]
    new CSVWriter(new FileWriter("yourfile.csv"), ',');
    [/code]

    实在惭愧 , 代码没有运行 除了这么多问题!

    点赞 打赏 评论

相关推荐 更多相似问题