zoukankan      html  css  js  c++  java
  • .NET读取Office文件内容(word、excel、ppt)

    引用命名空间

    1 using Microsoft.Office.Core;
    2 using Word = Microsoft.Office.Interop.Word;
    3 using Excel = Microsoft.Office.Interop.Excel;
    4 using PowerPoint = Microsoft.Office.Interop.PowerPoint;

    Word文件的读取

     1  public string ReadFile()
     2         {
     3             string text = string.Empty;
     4             Word.ApplicationClass app = null;
     5             Word.Document doc = null;
     6             object readOnly = true;
     7             object missing = System.Reflection.Missing.Value;
     8             object fileName = this.FileInstance.FullName;
     9             try
    10             {
    11                 app = new Microsoft.Office.Interop.Word.ApplicationClass();
    12                 doc = app.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
    13                 text = doc.Content.Text.Replace("
    ", string.Empty).Replace("
    ", string.Empty).Replace("	", string.Empty);
    14             }
    15             catch
    16             {
    17                 
    18             }
    19             finally
    20             {
    21                 doc.Close(ref missing, ref missing, ref missing);
    22                 doc = null;
    23                 app.Quit(ref missing, ref missing, ref missing);
    24                 app = null;
    25             }
    26             return text;
    27         }

    Excel文件的读取

     1 public string ReadFile()
     2         {
     3             string text = string.Empty;
     4             Excel.ApplicationClass app = null;
     5             Excel.Workbook book = null;
     6             object readOnly = true;
     7             object missing = System.Reflection.Missing.Value;
     8             object fileName = this.FileInstance.FullName;
     9             try
    10             {
    11                 app = new Microsoft.Office.Interop.Excel.ApplicationClass();
    12                 book = app.Workbooks.Open(fileName.ToString(), missing, readOnly, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
    13                 foreach (Excel.Worksheet sheet in book.Sheets)
    14                 {
    15                     for (int i = 1; i <= sheet.UsedRange.Cells.Rows.Count; i++)
    16                     {
    17                         for (int j = 1; j <= sheet.UsedRange.Cells.Columns.Count; j++)
    18                         {
    19                             text += ((Excel.Range)sheet.Cells[i, j]).Text.ToString().Replace("
    ", string.Empty).Replace("
    ", string.Empty).Replace("	", string.Empty) + " ";
    20                         }
    21                     }
    22                 }
    23             }
    24             catch
    25             {
    26 
    27             }
    28             finally
    29             {
    30                 book.Close(missing, fileName, missing);
    31                 book = null;
    32                 app.Quit();
    33                 app = null;
    34             }
    35             return text;
    36         }

    PPT文件的读取

     1  public override string ReadFile()
     2         {
     3             string text = string.Empty;
     4             PowerPoint.ApplicationClass app = null;
     5             PowerPoint.Presentation pp = null;
     6             object readOnly = true;
     7             object missing = System.Reflection.Missing.Value;
     8             object fileName = this.FileInstance.FullName;
     9 
    10             try
    11             {
    12                 app = new Microsoft.Office.Interop.PowerPoint.ApplicationClass();
    13                 pp = app.Presentations.Open(fileName.ToString(), Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
    14 
    15                 foreach (PowerPoint.Slide slide in pp.Slides)
    16                 {
    17                     foreach (PowerPoint.Shape shape in slide.Shapes)
    18                     {
    19                         text += shape.TextFrame.TextRange.Text.Replace("
    ", string.Empty).Replace("
    ", string.Empty).Replace("	", string.Empty) + " ";
    20                     }
    21                 }               
    22             }
    23             catch
    24             {
    25 
    26             }
    27             finally
    28             {
    29                 pp.Close();
    30                 pp = null;
    31                 app.Quit();
    32                 app = null;
    33             }
    34 
    35             return text;
    36         }
  • 相关阅读:
    非常强大的table根据表头排序,点击表头名称,对其内容排序
    处理字符集中的算式问题
    java基础复习:final,static,以及String类
    try,catch,finally含return时的执行顺序及丢失的伪例
    系统 触发器
    某个表按某个列分组且按另一个列排序
    XML读取
    硬软件交互原理
    TcpClient 读写流
    C# Socket的TCP通讯 异步 (2015-11-07 10:07:19)转载▼
  • 原文地址:https://www.cnblogs.com/liusuqi/p/3698451.html
Copyright © 2011-2022 走看看