比方說,我有一張工作簿,其中有6張爲Sheet1,Sheet2,Sheet3,Sheet4,Sheet5,Sheet6。如何從c#中的excel工作簿中刪除excel工作表?
所以從這裏我想刪除Sheet1,Sheet2,Sheet3。請幫我怎麼刪除?
比方說,我有一張工作簿,其中有6張爲Sheet1,Sheet2,Sheet3,Sheet4,Sheet5,Sheet6。如何從c#中的excel工作簿中刪除excel工作表?
所以從這裏我想刪除Sheet1,Sheet2,Sheet3。請幫我怎麼刪除?
MSDN知道:
((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[4]).Delete();
或
Globals.Sheet1.Delete();
您可以撥打.Delete() method,這樣的:
Globals.Sheet1.Delete();
更新,根據您的評論:
Excel._Worksheet ws = (Excel._Worksheet)app.Workbooks[i].Worksheets[j];
ws.Delete();
當我運行這個時,它會拋出一個錯誤,因爲「編譯器錯誤消息:CS0103:名稱'Globals'在當前上下文中不存在」。請澄清我... –
@Tripati Subudhi'Globals'是指您的工作簿,Sheet1--是第一張工作表。你應該添加你自己的變量來使這個代碼工作。另請參閱MSDN。 – VMAtm
請參閱鏈接http://stackoverflow.com/questions/7376964/how-to-merge-two-excel-workbook-into-one-workbook-in-c?answertab = active#tab-top 這裏它是通過合併現有的工作簿動態生成工作簿,但是當它生成時,它具有除合併工作表之外的3個默認工作表。所以在這裏我需要刪除默認的三張表。 –
參照你的例子(How to merge two excel workbook into one workbook in c#?),其中應用是你類型的變量Excel.Application,你應該寫這樣的事情:
for (int i = 1; i <= 3; i++)
((Excel.Worksheet)app.ActiveWorkbook.Sheets[1]).Delete();
PS:在我看來,Worksheets集合從1開始索引,而不是0,但我不確定,現在無法檢查。如果它不爲我從0工作,值儘量2.
我希望這個代碼將幫助您:
app.DisplayAlerts = false;
worksheet.Delete();
app.Displayalerts = true;
其中應用是你XlsApplication。
Dim s1 as Excel.Worksheet
s1 = wb.Sheets("Sheet1")
s1.Visible = Excel.XlSheetVisibility.xlSheetVisible
s1.Delete()
您需要更改知名度,因爲當我運行這一點,它拋出一個錯誤「編譯器錯誤信息不能刪除設置爲Excel.XlSheetVisibility.xlSheetVeryHidden
知名度片: CS0103:名稱'Globals'在當前上下文中不存在「。請澄清我.. 而且當我運行在一個以上時,我也得到錯誤爲「CS1061:'System.Web.HttpApplicationState'不包含'ActiveWorkbook'的定義和沒有擴展方法'ActiveWorkbook'接受可以找到'System.Web.HttpApplicationState'類型的第一個參數(是否缺少使用指令或程序集引用?)「 –
以及如果嘗試第一個選項會怎麼樣?你讀過鏈接的文章了嗎? –
請參閱鏈接http://stackoverflow.com/questions/7376964/how-to-merge-two-excel-workbook-into-one-workbook-in-c?answertab=active#tab-top 這裏它是通過合併現有的工作簿動態生成工作簿,但是當它生成時,它具有除合併工作表之外的3個默認工作表。所以在這裏我需要刪除默認的三張表。請幫我解決這個問題...... –