邮寄

2017-04-27 105 views
0

期间通过shell脚本将CSV到Excel我有以下代码邮寄

awk test1 > out.xsl 
mail -a out.xsl "Test Subject" [email protected] < /dev/null 

所以我有CSV格式的文件,我需要将其转换到Excel 正在发送的邮件时。我确实收到邮件,但当我尝试打开它时,它会损坏 。 Test1是一个CSV文件,并将IAM转换为名为out.xsl的excel文件中的 。荫发送邮件Excel文件,但荫无法打开或查看里面的任何东西请帮助

+0

Excel文件被“压缩XML”的文件,以便重命名CSV到XLS不会使所有文件它是一个excel文件。保持csv格式,excel可以直接处理。另一种方法是在发送之前通过excel本身进行转换 – NeronLeVelu

回答

0

使用unoconv

unoconv -i FilterOptions=9,,76 -f xls tables.csv 

这9用作字段分隔符制表符,和76是一个代码页(UTF-8)。

unoconv不支持xlsx,只有xls)。

或者使用xlsxwriter编写一个简单的python脚本:示例为here

-1

该脚本将所有的CSV XLSX格式

for f in *.csv; do 
mv -- "$f" "${f%.csv}.xlsx" 
done 

它转换的文件夹

+0

这个脚本不会转换任何东西,它只是重命名文件。 –

+0

你是正确的,但它的工作原理是在Microsoft Excel中打开文件.. .xlsx不过是csv for msexcel – Lakshmanavaradhan