[英]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.