日期:2014-05-18  浏览次数:21021 次

C#如何创建多sheet的Excel文件
如题。希望提供可用的代码 

条件:
1、VS2005 开发生成Excel 2003


------解决方案--------------------
private void Button1_Click(object sender, System.EventArgs e)
{
Excel.Application myExcel=new Excel .ApplicationClass ();
myExcel.Visible =true;
myExcel.Workbooks .Add (true);
for(int i=0;i<5;i++)//增加多个SHEET
{
myExcel.Sheets .Add (Missing.Value,Missing.Value,Missing.Value,Missing.Value );
}

for(int i=1;i<=6;i++)
{
for(int j=1;j<4;j++)
myExcel.Cells[i,j]=i+j;
((Excel.Worksheet)myExcel.Sheets[i]).Name =i.ToString ();//修改SHEET名
}
}

------解决方案--------------------
C# code

Excel._Application IExcel = new Excel.ApplicationClass();
                    if (IExcel == null)
                    {
                        MessageBox.Show("无法创建Excel对象,可能您的机器未安装Excel");
                        return;
                    }

                    Workbooks ibooks = IExcel.Workbooks; //获得工作薄的集合
                    Workbook book = ibooks.Add(Missing.Value); //添加一个工作薄采用缺省参数
                    sheet = (Worksheet)book.Worksheets[1]; //获得第二个SHEET页
                    要导出的数据  调用sheet
                  sheet = (Worksheet)book.Worksheets[2]; //获得第二个SHEET页
                    要导出的数据  调用sheet

                   sheet = (Worksheet)book.Worksheets[3]; //获得第二个SHEET页
                    要导出的数据  调用sheet
                  sheet.SaveAs(patch, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

                    ibooks.Close();// 关闭工作薄,即关闭Excel
                    IExcel.Quit(); //退出IExcel对象