![](/img/trans.png)
[英]Add new sheet to Excel workbook to store data when row limit > 1M
[英]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.