使用Excel通过TCOM以CSV格式存储文件时数据损坏
问题描述:
set application [::tcom::ref createobject "Excel.Application"]
$application Visible 1
set workbooks [$application Workbooks]
set workbook [$workbooks Add]
set worksheets [$workbook Worksheets]
set worksheet [$worksheets Item [expr 1]]
set cells [$worksheet Cells]
set rows [array size atten]
for {set row 1} {$row <= $rows} {incr row} {
$cells Item $row "B" $atten($row)
}
$workbook SaveAs Filename {c:\tst.csv}
$application Quit
嗨,我能够以CSV格式写入数据。但数据全部损坏。例如,当我用记事本打开数据时,数据已损坏,我的意思是我没有看到用逗号分隔的数据。我用什么方法将数据写入CSV格式有问题吗?使用Excel通过TCOM以CSV格式存储文件时数据损坏
答
使文件名以.csv
结尾不足以将Excel保存为CSV。您必须将文件类型常量传递给SaveAs
方法。不知道关于TCL的语法,但我猜的SaveAs
正确调用将
$workbook SaveAs Filename {c:\tst.csv} FileFormat xlCSV
+3
如果不是'xlCSV','[expr 6]'(来自枚举的值)。 – 2012-03-08 13:54:22
我回答这在我的第二个评论[本答案](http://*.com/ a/9610107/720999)到你以前的问题,@amateur。现在是时候开始真正的思考,阅读和谷歌搜索,然后发布针对同一简单程序出现的每个小问题的其他问题。它开始看起来像我们为你做你的功课。 – kostix 2012-03-08 16:02:17