0

命令 $cells Item 2 A {SomeText} 不会设置单元格 A2 中的文本,而是分配单元格 A1 中的文本。知道为什么它会这样吗???

              set application [::tcom::ref createobject "Excel.Application"]
              set XlFileFormat(xlCSV) [expr 6]
              set workbooks [$application Workbooks]
              set workbook [$workbooks Add]
              $application DisplayAlerts False
              set worksheets [$workbook Worksheets]
              set worksheet [$worksheets Item [expr 1]]
              set cells [$worksheet Cells]
            $cells Item 2 A {Range}


              $workbook SaveAs {c:\test.csv} $XlFileFormat(xlCSV)      
              $application Quit
4

1 回答 1

1

好的,这里有一个解释:当保存到 CSV 时,Excel 似乎只保存了在(虚拟化)工作表网格内形成“边界框”的数据。换句话说,您没有修改第一行单元格中的任何数据,因此它没有被保存。

这个简单的程序(WSH 的 JScript):

var app = new ActiveXObject("Excel.Application");
var wbs = app.Workbooks;
var wb  = wbs.Add;
var wss = wb.Worksheets;
var ws  = wss.Item(1);
var cells = ws.Cells;

app.DisplayAlerts = false;

cells.Item(2, "B") = "B2";
cells.Item(2, "C") = "C2";
cells.Item(3, "B") = "B3";
cells.Item(3, "C") = "C3";

wb.SaveAs("foo.csv", 6);
app.Quit();

它将四个单元格排列在一个矩形块中,从工作表的左上角偏移一列和一行,生成这个 CSV 文件:

B2,C2
B3,C3
于 2012-04-06T17:39:30.530 回答