2013-11-04 42 views
1

我有一个SQL将某些结果后台打印为CSV文件,然后通过电子邮件将其发送给客户。 Microsoft Excel(通常是最终用户打开CSV文件的默认应用程序)的方式对于某些最终用户而言稍微有点混乱,因为在打印之前,通常需要使列变大(否则显示#等)。使用SQL * Plus将后台打印为CSV,然后将CSV转换为PDF

在发送电子邮件之前,是否可以直接将文本转换为PDF文件或将CSV转换为更易于阅读的PDF?

我在网上搜索了一个命令行工具来将CSV转换为PDF,但空白。这是在没有RHN订阅的红帽企业Linux服务器上生成的,因此具有大量依赖关系的东西将成为安装的噩梦。

回答

0

是的,有几个txt2pdf程序是免费的和专有的不同平台。 谷歌搜索txt2pdf给出了大量的点击量。 剩下的就是将CSV文本(这是很容易的,因为CSV 文本)

您可能需要写(或索要)一个简单的脚本改变CSV根据自己的喜好,然后才会慢慢转化为PDF格式。

+0

谢谢。我一直在寻找'CSV to PDF',它并没有带来很多结果,事实上,我应该一直在寻找'TXT to PDF',正如你所说的那样! – user2656114

0

添加thom给出的回复,你实际上可以(如果可能)编辑SQL文件来发出一个带有所需分隔符和空格的txt文件,从而不需要将csv转换为txt。就像我有一个sql文件,它使用逗号分隔的列值打印文本文件每行中的一行中存在的数据,每个记录(或元组)用'|'行分隔。你可以检查每个属性,我已经设置,它代表什么,从而你可以根据你的需要打印出一些东西

SET SPACE 0 
SET LINESIZE 500 
SET PAGESIZE 0 
SET ECHO OFF 
SET FEEDBACK OFF 
SET VERIFY OFF 
SET TRIMSPOOL ON 
SET RECSEP each 
SET RECSEPCHAR | 
SPOOL spool_out.txt 
select col1||','||col2||','||col3||','||col4 from table; 
SPOOL OFF 
exit 
/