本文讲下asp.net使用Microsoft.Office.Interop.Word.dll将word转换成html的方法。
1.导入 Microsoft.Office.Interop.Word.dll文件
把这个程序集得嵌入互操作性,改成false,切记!否则不好用。
2.源代码如下:
Code
[http://www.oeedu.com]
///
<summary>
/// word转成html
/// </summary>
/// <param name="wordFileName"></param>
private string WordToHtml( object wordFileName)
{
// 在此处放置用户代码以初始化页面
Word.ApplicationClass word = new Word.ApplicationClass();
Type wordType = word.GetType();
Documents docs = word.Documents;
// 打开文件
Type docsType = docs.GetType();
Document doc = (Document)docsType.InvokeMember( " Open " ,
System.Reflection.BindingFlags.InvokeMethod, null , docs, new Object[] { wordFileName, true , true });
// 转换格式,另存为
Type docType = doc.GetType();
string wordSaveFileName = wordFileName.ToString();
string strSaveFileName = wordSaveFileName.Substring( 0 , wordSaveFileName.Length - 3 ) " html " ;
object saveFileName = ( object )strSaveFileName;
docType.InvokeMember( " SaveAs " , System.Reflection.BindingFlags.InvokeMethod,
null , doc, new object [] { saveFileName, WdSaveFormat.wdFormatFilteredHTML });
docType.InvokeMember( " Close " , System.Reflection.BindingFlags.InvokeMethod,
null , doc, null );
// 退出 Word
wordType.InvokeMember( " Quit " , System.Reflection.BindingFlags.InvokeMethod,
null , word, null );
return saveFileName.ToString();
}
/// word转成html
/// </summary>
/// <param name="wordFileName"></param>
private string WordToHtml( object wordFileName)
{
// 在此处放置用户代码以初始化页面
Word.ApplicationClass word = new Word.ApplicationClass();
Type wordType = word.GetType();
Documents docs = word.Documents;
// 打开文件
Type docsType = docs.GetType();
Document doc = (Document)docsType.InvokeMember( " Open " ,
System.Reflection.BindingFlags.InvokeMethod, null , docs, new Object[] { wordFileName, true , true });
// 转换格式,另存为
Type docType = doc.GetType();
string wordSaveFileName = wordFileName.ToString();
string strSaveFileName = wordSaveFileName.Substring( 0 , wordSaveFileName.Length - 3 ) " html " ;
object saveFileName = ( object )strSaveFileName;
docType.InvokeMember( " SaveAs " , System.Reflection.BindingFlags.InvokeMethod,
null , doc, new object [] { saveFileName, WdSaveFormat.wdFormatFilteredHTML });
docType.InvokeMember( " Close " , System.Reflection.BindingFlags.InvokeMethod,
null , doc, null );
// 退出 Word
wordType.InvokeMember( " Quit " , System.Reflection.BindingFlags.InvokeMethod,
null , word, null );
return saveFileName.ToString();
}