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);
        }
       }
    }
  • 相关阅读:
    WITH HINDSIGHT
    圆桌最后冲刺
    圆桌总结
    圆桌十日冲刺之⑨
    圆桌十日冲刺之八
    圆桌十日冲刺之七
    圆桌十日冲刺之六
    【09NOIP提高组】Hankson 的趣味题(信息学奥赛一本通 1856)(洛谷 1072)
    灯泡(信息学奥赛一本通 1438)
    最大公约数(信息学奥赛一本通 1627)
  • 原文地址:https://www.cnblogs.com/runfeng/p/322189.html
Copyright © 2011-2022 走看看