2012-03-07 16 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形式にデータを書き込むために使用するメソッドに問題がありますか?ファイルをCSV形式で保存している間にデータが破損し、TCOM経由でexcelする

+0

だろう推測していない私は、[この回答](http://stackoverflow.com/に私の第二のコメントでこれに答えa/9610107/720999)を前の質問@amateurに追加してください。同じ簡単なプログラムで起こっている小さな問題ごとに別の質問を投稿する前に、実際に思考し、読んで、グーグルグーグルを始めてみようかな?あなたの宿題をしているように見え始めます。 – kostix

答えて

2

.csvにファイル名の末尾を付けると、ExcelにCSVとして保存するよう指示するだけでは不十分です。ファイルタイプ定数をSaveAsメソッドに渡す必要があります。 Tclの構文について確認が、私はSaveAsの正しい呼び出しが

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

SaveAs documentation

+3

'xlCSV'ではなく、' [expr 6] '(列挙からの値)です。 –