2013-02-09 74 views
3

从Java练成我从这里复制的类MysqlToXlshttp://mikescode.wordpress.com/2008/02/16/exporting-a-mysql-table-to-excel-xls-in-java/出口MySQL的数据采用Apache POI

我编辑的类做一个构造函数,不需要任何参数,以这样的方式

public MysqlToXls() 
throws ClassNotFoundException, SQLException { 

    // Create MySQL database connection 
    Class.forName("com.mysql.jdbc.Driver"); 

    String url = "jdbc:mysql://localhost/Spinning?user=root&useUnicode=true&characterEncoding=utf8"; 
    connection = DriverManager.getConnection(url); 
} 

虽然没有任何指导,我尝试做自己,我无法。

MysqlToXls m=new MysqlToXls(); 
    m.generateXls("utente", "utenti.xls"); 

但是没有错误,文件utenti.xls保持空白。 有人知道问题在哪里吗?

+0

表'utente'中有任何数据吗? generateXls()中的ResultSet是否包含任何结果? – harpun 2013-02-09 13:01:41

+0

是的,我有数据和rs不是空的。 – Martina 2013-02-09 13:03:24

回答

1

唯一的问题是文件的路径。我试图将文件保存在项目的一个文件夹中(使用相对路径),而如果我给绝对路径(在桌面上使用f.e.),它完美的工作!

1

这是可能的,你必须明确地关闭的OutputStream,所以insted的这样做的:

xlsWorkbook.write(new FileOutputStream(filename)); 

你应该尝试做这样的事情:

FileOutputStream fos = new FileOutputStream(filename); 
xlsWorkbook.write(fos); 
fos.close(); 
+0

其实我试过链接的代码,它的工作就像一个魅力。因此关闭输出流将无法解决您的问题。 – hijack 2013-02-09 19:27:49

+0

它工作?真? – Martina 2013-02-09 22:58:44

+0

是的,原始代码完全没有问题。对不起,我不知道。 – hijack 2013-02-10 13:21:47