簡體   English   中英

如何在現有工作簿中添加新工作表?

[英]How to add new sheet in an existing workbook?

我正在嘗試使用c#使用以下代碼創建一個新工作表。 我的Excel文件已經有2張紙,問題是添加了第三張紙。 但是,程序在我創建var newS的行中崩潰。 有人可以解釋為什么嗎?

我肯定知道問題不是在創建newS之前發生的,因為我一直在調試代碼,並且在沒有最后兩行的情況下它可以很好地工作。

wbs= excel.Workbooks;
wb=wbs.Open(Path.Combine(App.Domain.BaseDiretory, template_path, template_filename)) 

Excel.Sheets shs=wb.Sheets;

Excel.Worksheet sh=shs[1] as Excel.Worksheet;
//code not relevant between these lines
Marshall.ReleaseComObject(sh);

Excel.Worksheet sh=shs[2] as Excel.Worksheet;
//code not relevant between these lines
Marshall.ReleaseComObject(sh);

var newS=(Excel.Worksheet)shs.Add(shs[3], Type.missing, Type.missing, Type.missing);

newS.name="1";

shs.Add(shs[3], Type.missing, Type.missing, Type.missing); 您說您的工作簿中有兩張紙,因此該電話看起來無效。 您正在嘗試在不存在的第三個表之前添加新表。 請參閱文檔

Before -可選-變形-一個對象,該對象指定在其之前添加新圖紙的圖紙。

所有參數都是可選的; 可能是您應該只傳遞Type.Missing而不是shs[3] 新工作表將添加到活動工作表之前。

如果同時省略了“之前”和“之后”,則將新工作表插入到活動工作表之前。

或者,替換該調用以表示存在的工作表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM