我需要将一个Excel中的所有Sheet页面分别保存为一个Excel文件,我使用了下面的方法。但是这种方法仅仅是在打开这个新生成的Excel文件时首先显示拆分的Sheet页,其他不需要的页面依然存在,我希望新生成的只有我需要的一个Sheet。请各位大虾指点一下。谢谢!Excel.Application xApp = new Excel.ApplicationClass();Excel.Workbook xBook=xApp.Workbooks._Open(src,
Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
Excel.Worksheet xSheet1=(Excel.Worksheet)xBook.Sheets[1]; //这里是第一个页面
Excel.Worksheet xSheet2=(Excel.Worksheet)xBook.Sheets[2]; //这里是第二个页面 System.IO.DirectoryInfo DirInfo = new DirectoryInfo(src);
DirInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;xSheet1.SaveAs(@"D:\CData1.xls", //保存第一个页面
Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value,xBook.Sheets[1],Missing.Value,Missing.Value);
xSheet2.SaveAs(@"D:\CData2.xls", //保存第二个页面
Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value,xBook.Sheets[2],Missing.Value,Missing.Value); xBook.Close(null,null,null);
xApp.Workbooks.Close();
xApp.Quit();if(xSheet1 != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSheet1);
xSheet1 = null;
}
if(xSheet2 != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSheet2);
xSheet2 = null;
}
if(xBook != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xBook);
xBook = null;
}
if(xApp != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xApp);
xApp = null;
}
GC.Collect();
Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
Excel.Worksheet xSheet1=(Excel.Worksheet)xBook.Sheets[1]; //这里是第一个页面
Excel.Worksheet xSheet2=(Excel.Worksheet)xBook.Sheets[2]; //这里是第二个页面 System.IO.DirectoryInfo DirInfo = new DirectoryInfo(src);
DirInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;xSheet1.SaveAs(@"D:\CData1.xls", //保存第一个页面
Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value,xBook.Sheets[1],Missing.Value,Missing.Value);
xSheet2.SaveAs(@"D:\CData2.xls", //保存第二个页面
Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value,xBook.Sheets[2],Missing.Value,Missing.Value); xBook.Close(null,null,null);
xApp.Workbooks.Close();
xApp.Quit();if(xSheet1 != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSheet1);
xSheet1 = null;
}
if(xSheet2 != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSheet2);
xSheet2 = null;
}
if(xBook != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xBook);
xBook = null;
}
if(xApp != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xApp);
xApp = null;
}
GC.Collect();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货