4

我正在尝试将 ListObject 从 .NET 3.5 Excel 2007 VSTO 工作簿保存到新工作表(完成)并将新工作表保存到新工作簿(完成),而该工作簿不需要 VSTO 自定义文件(!!!!!!) .

有没有人有这方面的运气?我取得任何成功的唯一方法就是保存为 CSV 文件,但在这种情况下这并不完全可以接受。我宁愿不保存到 CSV 只是为了复制回 XLS 文件。

worksheet.SaveAs(saveDialog.FileName, Excel.XlFileFormat.xlOpenXMLWorkbook)

4

2 回答 2

5

如果我理解正确,您不希望新工作簿文件依赖或加载任何 VSTO 自定义?

尝试此MSDN 链接以从工作簿中删除 VSTO 自定义程序集。

于 2009-09-01T19:03:49.827 回答
1

好的,这最终对我不起作用,这就是原因。答案仍然是正确的,但我想为未来的用户澄清一下。

我有一个 ListObject 我想使用 VSTO 保存在外部工作簿中。创建一个新工作表并使用 SaveAs 会将当前工作簿重命名为该工作簿,因此我必须关闭整个工作簿才能删除自定义。

我从一开始就应该做的是:

创建工作表并在所述工作表上填充 ListObject。然后使用不带参数的 .Copy() 创建一个新工作簿。那我怎么找到工作簿呢?我只是将 Worksheet 命名为 Now.Ticks.ToString() 并查找 ActiveSheet.Name 为 Now.Ticks.ToString() 的任何打开的工作簿。对于这个应用程序,它不需要那么深入。我保存了那个工作簿,然后将其关闭。由于工作簿是使用 Copy 创建的,因此没有对其进行自定义并且问题已解决。

于 2009-09-02T19:16:51.210 回答