2009-09-01 98 views
4

我想將.NET 3.5 Excel 2007 VSTO工作簿中的ListObject保存到新工作表(完成)並將該新工作表保存到新工作簿(完成),而不需要該工作簿VSTO定製文件(!!!!!)。保存VSTO工作簿的非VSTO副本

有沒有人有這樣的運氣?我取得任何成功的唯一方法就是保存爲CSV文件,但在這種情況下這並不完全可以接受。我寧願不保存爲CSV來複制回XLS文件。

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

回答

5

如果我理解正確的話,你不希望新的工作簿文件依賴或加載任何VSTO定製?

試試MSDN link從工作簿中刪除VSTO定製程序集。

+0

這正是我所需要的。謝謝! – 2009-09-01 19:08:07

1

好吧,這並沒有最終爲我工作,這就是爲什麼。答案仍然正確,但我想澄清未來的用戶。

我有一個ListObject我想保存在使用VSTO的外部工作簿中。創建一個新的工作表並使用另存爲將重命名當前工作簿,因此我將不得不關閉整個工作簿以刪除自定義。

我應該從一開始就做了是這樣的:

創建工作表和填充的ListObject上表示工作表。然後使用沒有參數的.Copy()來創建一個新的工作簿。但是,我如何找到工作簿?我簡單地命名工作表Now.Ticks.ToString()並查找任何打開的工作簿與ActiveSheet.Name Now.Ticks.ToString()。對於這個應用程序,它不需要更深入。我保存了THAT工作簿,然後關閉它。由於該工作簿是使用「複製」創建的,因此它沒有自定義設置並且問題已解決。

+0

聽起來很難。爲什麼你不這樣做... Excel.Workbook wkbk = xlApp.Workbooks.Add(params); Excel.Worksheet wksht = wkbk.Worksheets.get_Item(「Sheet1」);插入代碼將ListObject填充到wksht這裏... wkbk.Close(true); – 2010-02-05 08:08:18

+0

我相信我首先嚐試了這條路線,但生成的工作手冊中附有VSTO要求。但我可能會誤解。 – 2010-02-09 06:18:47

+1

好的,所以做我說的然後調用wkbk對象上的Workbook.RemoveCustomization方法。 – 2010-06-09 03:55:15

相關問題