将Excel Workbook中的一个worksheet单独保存的方法
将Excel Workbook中的一个worksheet单独保存的方法
1
Microsoft.Office.Interop.Excel.Application app = GetExcelApplication();2

3
app.EnableEvents = false;4
app.DisplayAlerts = false;5

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

15
foreach (Worksheet ws in workbook.Worksheets)16


{17
//do other things18
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

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

31
xlDestBook.Save();32
}33

34
workbook.Close(0, "", 0);35

36
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);37
app.Quit();38
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);39
//do other things

浙公网安备 33010602011771号