Excel 使用TCOM在CSV中创建选项卡

Excel 使用TCOM在CSV中创建选项卡,excel,csv,tcl,Excel,Csv,Tcl,我想在使用TCL中的TCOM包创建的.csv文件中添加选项卡。下面是我用来创建第二个选项卡的代码。但我看不到第二张账单。我只看到创建的第一个选项卡 set application [::tcom::ref createobject "Excel.Application"] set XlFileFormat(xlCSV) [expr 6] set workbooks [$application Workbooks] set workbook [$workbooks Add]

我想在使用TCL中的TCOM包创建的.csv文件中添加选项卡。下面是我用来创建第二个选项卡的代码。但我看不到第二张账单。我只看到创建的第一个选项卡

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 worksheet1 [$worksheets Item [expr 1]] 
set cells_worksheet1 [$worksheet1 Cells]

set worksheet2 [$worksheets Item [expr 2] 
set cells_worksheet2 [$worksheet2 Cells] 
这里所谓的“选项卡”实际上是一个工作表——这个概念只存在于某些办公电子表格应用程序中,例如您正在使用的Excel。当以本机文件格式保存/加载数据时,这些应用程序能够保留这种高级结构,但要简单得多:它只是一个二维矩阵。由于这种简单性,CSV格式只能用于存储在典型办公电子表格软件中维护的工作区的单个工作表的内容。此外,CSV不会存储单元格引用、公式或单元格格式等高级内容,只存储原始数据

现在请仔细评估以下建议:

  • 你应该有这样一个想法:在你的例子中,通过Tcl的COM编写Excel,-Tcl和COM在概念上只是一层薄薄的哑层,没有任何意义:所有繁重的工作都是由Excel完成的。这意味着,如果您在编写某些Excel操作时遇到问题,请考虑Excel,而不是这些包装器。执行以下步骤通常会有所帮助:

  • 启动Excel并尝试手动执行预期操作。在您的特定情况下,这将避免您问这个问题,因为您会看到您无法将多页文档保存为CSV格式的文件
  • 录制宏,然后打开宏编辑器,查看Excel为您编写的脚本(在VBA中)。从任何运行时将此代码转换为COM中介调用都非常简单。这是使用COM编写此类软件脚本的常用方法
  • 阅读文档!没有理由不阅读关于CSV是什么的介绍性材料,因为文档太多了。CSV比你想象的简单得多;这本该引起一些注意的

  • 考虑一下通读一遍——在询问之前,你似乎没有做太多的研究