将Excel Workbook中的一个worksheet单独保存的方法
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
1
Microsoft.Office.Interop.Excel.Application app = GetExcelApplication();
2![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
app.EnableEvents = false;
4
app.DisplayAlerts = false;
5![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
Workbook workbook = app.Workbooks.Open(strPath, 0, false,
7
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
8
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
9
Type.Missing, Type.Missing);
10
workbook.UpdateLinks = XlUpdateLinks.xlUpdateLinksNever;
11
workbook.ReadOnlyRecommended = false;
12
13
FileInfo fi = new FileInfo(strPath);
14![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
foreach (Worksheet ws in workbook.Worksheets)
16![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
17
//do other things
18
Workbook xlDestBook = app.Workbooks.Add(Type.Missing);
19
xlDestBook.UpdateLinks = XlUpdateLinks.xlUpdateLinksNever;
20
xlDestBook.ReadOnlyRecommended = false;
21
xlDestBook.UpdateRemoteReferences = false;
22
xlDestBook.SaveLinkValues = false;
23![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
ws.Name = String.Format("{0}_{1}.xls", fi.Name.Substring(0, fi.Name.IndexOf(".")), index);
25
string pathCombine = Path.Combine(fi.DirectoryName, String.Format("{0}_{1}.xls", fi.Name.Substring(0, fi.Name.IndexOf(".")), index));
26
xlDestBook.SaveAs(pathCombine,
27
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
28
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
29
ws.Copy(Type.Missing, xlDestBook.Sheets[xlDestBook.Sheets.Count]);
30![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
xlDestBook.Save();
32
}
33![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
34
workbook.Close(0, "", 0);
35![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
36
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
37
app.Quit();
38
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
39
//do other things