[WPF]读取excel
/// <summary> /// 将excel文档转换成PDF格式 /// </summary> /// <param name="sourcePath">原文件路径</param> /// <param name="targetPath">文件转换为PDF保存的路径</param> /// <param name="targetType">枚举类型参数</param> /// <returns></returns> private bool ExcelConvert(string sourcePath, string targetPath, XlFixedFormatType targetType) { bool result; object missing = Type.Missing; Microsoft.Office.Interop.Excel.Application application = null; Workbook workBook = null; try { if (!File.Exists(targetPath)) { application = new Microsoft.Office.Interop.Excel.Application(); object target = targetPath; object type = targetType; workBook = application.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); workBook.ExportAsFixedFormat(targetType, target, XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing); result = true; } else { result = true; } } catch { result = false; } finally { if (workBook != null) { workBook.Close(true, missing, missing); workBook = null; } if (application != null) { application.Quit(); application = null; } GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); } return result; } //页面调用 bool result = ExcelConvert(path + filename, path + filename + ".xps", XlFixedFormatType.xlTypeXPS); if (result) { DocumentViewer docViewer = new DocumentViewer(); docViewer.Document = new XpsDocument((path + filename + ".xps"), System.IO.FileAccess.Read).GetFixedDocumentSequence(); docViewer.FitToWidth(); grid1.Children.Add(docViewer); docViewer.SetValue(Grid.RowProperty, 0); docViewer.SetValue(Grid.ColumnProperty, 0); } else { Xceed.Wpf.Toolkit.MessageBox.Show("系统调用有误,是否安装Office软件"); }