zoukankan      html  css  js  c++  java
  • 在C#获取word文档的字数,并输出到excel

    参考文档

    http://www.microsoft.com/china/msdn/library/office/office/UndstaExcelObjModNETDev.mspx
    注册了一段时间啦,一直都没有时间写点东西,实在是不好意思啊。
    由于最近老婆大人需要统计大量word文档的字数,俺就抽时间写了
    一个统计多个word文档字数的小程序。
    读取word文件的字数(或字符数),首选需要引用word对象和excel对象。
    //打开多个word文件,获取字数
     Word.ApplicationClass ThisApplication = new Word.ApplicationClass();
       object missingValue = Type.Missing;
       object myTrue = true;
       int count;
       object fileName;
       foreach(ListViewItem item in listView1.Items)//多个word文档列表
       {
            count =0;
            fileName = item.SubItems[0].Text;
            Word.Document ThisDocument = ThisApplication.Documents.Open(ref fileName, ref                 missingValue,
             ref myTrue, ref missingValue, ref missingValue, ref missingValue,
             ref missingValue, ref missingValue, ref missingValue,
             ref missingValue, ref missingValue, ref missingValue,
             ref missingValue, ref missingValue, ref missingValue,
             ref missingValue);
            Word.Range rng = ThisDocument.Content;
            rng.Select();
            count = ThisDocument.Characters.Count;
        }
        ThisDocument.Close(ref missingValue, ref missingValue, ref missingValue);

    //保存到excel文件
      void SaveToExcel()
    {
       System.Windows.Forms.SaveFileDialog file = new SaveFileDialog();
       file.DefaultExt = ".doc";
       file.Filter ="Excle文件(*.xls)|*.xls|所有文件(*.*)|*.*";
       file.Title = "请选择保存文件位置";
       if(file.ShowDialog()== System.Windows.Forms.DialogResult.OK)
       {
        Excel.ApplicationClass ThisApplication = new Excel.ApplicationClass();
        Excel.Workbook workbook = ThisApplication.Workbooks.Add(Type.Missing);
        Excel.Worksheet newWorkSheet;
        newWorkSheet =
         (Excel.Worksheet)workbook.Worksheets.Add(
         Type.Missing, Type.Missing, Type.Missing, Type.Missing);
        int i =1;
        foreach(ListViewItem item in listView1.Items)
        {
         Excel.Range  range = (Excel.Range)newWorkSheet.Cells[i,1];
         range.Value2 = item.SubItems[0].Text;
         range = (Excel.Range)newWorkSheet.Cells[i,2];
         range.Value2 = item.SubItems[1].Text;
         i++;
        }
        foreach (Excel.Workbook book in ThisApplication.Workbooks)
        {
         book.SaveCopyAs(file.FileName);
         book.Close(false, Type.Missing, Type.Missing);
        }
       }
    }
  • 相关阅读:
    c# 通过Windows服务启动外部程序
    MVC 视图页对数字,金额 用逗号 隔开(数字格式化)
    mvc4 @foreach 如何写@if 判断
    最小生成树Prim算法和Kruskal算法
    Triangle War
    定制kickstart重建CentOS7.5镜像用于U盘引导安装
    有限状态机FSM
    最短路经算法简介(Dijkstra算法,A*算法,D*算法)
    利用/dev/urandom文件创建随机数
    A*搜索算法
  • 原文地址:https://www.cnblogs.com/runfeng/p/322189.html
Copyright © 2011-2022 走看看