2012-03-07 167 views
-1
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格式存儲文件時數據損壞

+0

我回答這在我的第二個評論[本答案](http://stackoverflow.com/ a/9610107/720999)到你以前的問題,@amateur。現在是時候開始真正的思考,閱讀和谷歌搜索,然後發佈針對同一簡單程序出現的每個小問題的其他問題。它開始看起來像我們爲你做你的功課。 – kostix 2012-03-08 16:02:17

回答

2

使文件名以.csv結尾不足以將Excel保存爲CSV。您必須將文件類型常量傳遞給SaveAs方法。不知道關於TCL的語法,但我猜的SaveAs正確調用將

$workbook SaveAs Filename {c:\tst.csv} FileFormat xlCSV 

SaveAs documentation

+3

如果不是'xlCSV','[expr 6]'(來自枚舉的值)。 – 2012-03-08 13:54:22

相關問題