您的位置:首页 > 编程语言 > C#

在C#获取word文档的字数,并输出到excel

2006-01-23 17:28 465 查看

参考文档

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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: