使用Apache POI将mysql数据导出为Java

时间:2013-02-09 12:57:44

标签: java mysql excel apache-poi

我从这里复制了类MysqlToXlshttp://mikescode.wordpress.com/2008/02/16/exporting-a-mysql-table-to-excel-xls-in-java/

我编写了一个类,它以这种方式构建一个不需要任何参数的构造函数:

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仍为空白。 有人知道问题在哪里吗?

2 个答案:

答案 0 :(得分:1)

您可能必须显式关闭inputStream,因此不要这样做:

xlsWorkbook.write(new FileOutputStream(filename));

你应该尝试这样做:

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

答案 1 :(得分:1)

唯一的问题是文件的路径。我试图将文件保存在项目的一个文件夹中(带有相对路径),而如果我给出绝对路径(桌面上的f.e.)它可以完美地运行!