.net导出数据到Excel,怎么设置一个工作簿中工作表的个数
代码如下:
public bool DataSetToExcel(string ptcid, string fileName)
{
//建立Excel对象
Excel.ApplicationClass oExcel = new Excel.ApplicationClass();
object oMissing = System.Reflection.Missing.Value;
oExcel.Workbooks.Add(oMissing);
Excel.Workbook oBook = oExcel.Workbooks[1];
//获得3级分类下的4级分类
DataSet dsD = proC.GetProDName(ptcid);
DataTable dtD = dsD.Tables[0];
for (int i = 0; i < dtD.Rows.Count; i++)
{
Excel.Worksheet oSheet = (Excel.Worksheet)oBook.Sheets[i + 1];
//oBook.Sheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
//Excel.Worksheet oSheet = (Excel.Worksheet)oBook.Sheets[oBook.Sheets.Count];
oSheet.Name = dtD.Rows[i]["ptdname"].ToString();
===========================
}
运行后,提示红色的部分错误:
Invalid index. (异常来自 HRESULT:0x8002000B (DISP_E_BADINDEX))
调试以后发现是因为oExcel.Sheets.Count默认为3,如果循环次数>3,就提示错误了,
请问一下,红色的部分应该怎么改正?
谢谢!