将PostgreSQL查询导入Excel表格

22

我需要将一些数据从PostgreSQL导出到Excel(客户的迫切需求),上次使用COPY命令导出的csv文件存在诸多问题(换行符、utf-8编码等),导致Excel打开或导入文件时严重出现问题,最好情况下需要花费一个小时来解决。

是否有人知道一种快速而优雅的解决方案,可以生成真正的Excel文件?比如一个小的shell脚本之类的东西?

我希望这可以在我的Linux机器(Debian 5.0 Lenny)或Windows(XP或更高版本)上完成。


我花了一个小时才让Excel打开并导入我的CSV文件,因为一开始编码错误,然后多行字符串破坏了导入等等。 - Daniel
3个回答

18
您可以在Windows机器上安装PostgreSQL ODBC驱动程序,然后按照这篇博客文章中的说明连接Excel到数据库(只需使用ODBC而不是OLEDB)。
我没有测试过。我不确定这是否比导出CSV并进行修复更容易(考虑到Excel的特点)。
编辑(感谢@Tometzky): 最佳解决方案是使用PostgreSQL ODBC驱动程序将Microsoft Access连接到数据库,然后从Access导出到Excel。

+1 好主意。我已经安装了数据源,所以这应该是最快的方法。 - Daniel
3
我建议使用Access从PostgreSQL导入数据,然后再从Access导出到Excel。(+1) - Tometzky
1
+1 @Tometzky:这个评论是我接受的答案,因为只有访问权限才允许我从ODBC驱动程序中选择表。Excel找不到任何表。我在另一个问题中给了你另一个答案的赞 :) - Daniel
2
这个问题让我苦恼了一段时间,所以对于未来的读者:您首先需要设置ODBC连接。设置ODBC的方法如下:点击开始菜单。选择控制面板。选择管理工具并双击数据源(ODBC)图标。点击系统DSN选项卡。我从中提取ODBC设置文本的更详细文章:http://www.stoneedge.com/help/mergedProjects/3rdparty/Creating_ODBC_Connections_in_Microsoft_Windows.htm - Albert Rothman
显示剩余2条评论

1

嗨,只是提醒一下,显然这并不适用于所有版本的Office(例如学生版2013),因为存在一个愚蠢的下拉菜单错误 - 这篇文章描述了这个问题 - 我认为只适用于专业版(在我的Office 2010专业版上有效): http://superuser.com/questions/950100/connect-to-postgresql-database-from-excel-2013-power-query-with-npgsql - Mehness

-4

这很容易。

将此代码作为 .asp 页面的第一行:<%response.ContentType="application/vnd.ms-excel"%>

其余部分与其他 HTML 页面相同,其中包含一个表格。

使用 ASP 从数据库中填充表格数据。

服务器将为您创建一个 Excel 电子表格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接