asp.net|word
首先要添加一個引用:COM ----> Microsoft Word 9.0 Object Library
要用到這個名稱空間:System.Reflection
void opWord()
{
Word.Application oWord;
Word._Document oDoc;
object docBuiltInProps;
object oMissing = Missing.Value;
object Source = Server.MapPath("liu.doc");
object Unknown =Type.Missing;
oWord = new Word.Application();
try
{
oDoc = oWord.Documents.Open(ref Source,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown );
//下面代碼可以獲得word文本
Response.Write(oDoc.Words.Count.ToString());
Response.Write("
");
Response.Write(oDoc.Words.Application.Documents.ToString());
object a=0;
object b=(object)oDoc.Words.Count;
Word.Range oooo=oDoc.Range(ref a,ref b);
Response.Write(oooo.Text);
Response.Write(" ");
//----------------------------
docBuiltInProps = oDoc.BuiltInDocumentProperties;
Type typeDocBuiltInProps = docBuiltInProps.GetType();
//擷取作者
string index = "Author";
string propsValue;
object docAuthor = typeDocBuiltInProps.InvokeMember("Item",
BindingFlags.Default |
BindingFlags.GetProperty,
null,docBuiltInProps,
new object[] {index} );
Type typeDocAuthorProp = docAuthor.GetType();
propsValue = typeDocAuthorProp.InvokeMember("Value",
BindingFlags.Default |
BindingFlags.GetProperty,
null,docAuthor,
new object[] {} ).ToString();
Response.Write(propsValue);
//擷取主題
index = "Subject";
propsValue = "The Subject";
object docSubjectProp =
typeDocBuiltInProps.InvokeMember("Item",
BindingFlags.Default |
BindingFlags.GetProperty,
null,docBuiltInProps,
new object[] {index} );
Type typeDocSubjectProp = docSubjectProp.GetType();
propsValue = typeDocSubjectProp.InvokeMember("Value",
BindingFlags.Default |BindingFlags.GetProperty,
null,docSubjectProp,
new object[] {} ).ToString();
Response.Write(propsValue);
}
finally
{
//關閉word進程
object save = false;
oWord.Quit(ref save,ref Unknown,ref Unknown);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oWord);
}
}