在邮件发送过程中通过shell脚本将csv转换为Excel

时间:2017-04-27 04:55:48

标签: linux bash shell

我有以下代码

   awk test1 > out.xsl
 mail -a out.xsl "Test Subject" abc@gmail.com < /dev/null
  

所以我有一个csv格式的文件,我需要将其转换为excel   邮件发送时。我确实收到了邮件,但它收到了   我试图打开它时损坏了。 Test1是一个CSV文件和Iam转换   它在名为out.xsl的excel文件中。我用邮件发送excel文件,但我无法打开它或查看其中的任何内容请帮助

3 个答案:

答案 0 :(得分:0)

使用unoconv

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

这里9是用作字段分隔符的制表符号,76是代码页(UTF-8)。

unoconv不支持xlsx,仅支持xls)。

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

答案 1 :(得分:0)

unix2dos -o test1 

使用

  • -o更改文件
  • -n创建新文件

然后将该文件作为附件发送,并在Excel中打开

 mail -a out.xsl "Test Subject" abc@gmail.com < /dev/null

答案 2 :(得分:-1)

  

此脚本将所有csv转换为xlsx格式

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

它转换文件夹中的所有文件