ASP.NET implements word document online preview function code

  • 2020-05-10 17:56:41
  • OfStack

Consider making one HTMl file available for each file you upload, so you can preview it online. The main code is as follows
 
using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using Word = Microsoft.Office.Interop.Word; 
public partial class test : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
WordToHtml("d:\\yijian.doc"); 
} 
/// <summary> 
/// word into html 
/// </summary> 
/// <param name="wordFileName"></param> 
private string WordToHtml(object wordFileName) 
{ 
// Place the user code here to initialize the page  
Word.ApplicationClass word = new Word.ApplicationClass(); 
Type wordType = word.GetType(); 
Word.Documents docs = word.Documents; 
// Open the file  
Type docsType = docs.GetType(); 
Word.Document doc = (Word.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { wordFileName, true, true }); 
// Convert the format and save as  
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, Word.WdSaveFormat.wdFormatFilteredHTML }); 
docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod, null, doc, null); 
// exit  Word 
wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null); 
return saveFileName.ToString(); 
} 
} 

Related articles: