直接在网页上显示word2007文档

示例地址 代码下载其实很简单,就是用我上次说的那个使用c#打开word2007文档的的方法,用xslt格式化一下就可以了,不过,由于对ooxml格式不太了解,只分析了最简单的那几个标签,图片,表格等目前还不知道怎么格式化,有xslt高手可以指导一下,代码如下,在在页面加多一个xml控件就可以了,嘿嘿,居然还能通过w3 1staticstringsavName=string.Empty;234protectedvoidbutton1_Click(objectsender,EventArgse)5{67if(FileUpload1.HasFile)8{9if(FileUpload1.PostedFile.ContentType=="application/vnd.openxmlformats-officedocument.wordprocessingml.document")10{11savName=Server.MapPath("/DocToDocx/"+FileUpload1.FileName);12FileUpload1.SaveAs(savName);13//有条件可以在服务器上安装office2007直接对2007以前的doc文档进行文档转换14//ConvertToDocx();15DispPlayOnWeb();16}17else18{19Response.Write("对不起,只能上传office2007以docx为后缀的文件");20}21}22}2324//voidConvertToDocx()25//{26//objectfileName=savName;27//objectmissing=Type.Missing;28//objectisFalse=false;29//objectisTrue=true;30//MSWord.ApplicationClasswordApp=newMicrosoft.Office.Interop.Word.ApplicationClass();31//wordApp.Visible=false;32//MSWord.DocumentwordDocument=wordApp.Documents.Open(33//reffileName,//文件名称34//refisFalse,//如果文件有错误是否提示转换,我们在服务器运行,出现也看不到,就不用出现提示了35//refisFalse,//是否以只读形式打开,我们要对其转换,不能只读36//refisFalse,//是否增加到最精打开的文件37//refmissing,38//refmissing,39//refisFalse,40//refmissing,41//refmissing,42//refmissing,43//refmissing,44//refisFalse,45//refisTrue,46//refmissing,47//refisFalse,48//refmissing49//);5051////直接使用其转换方法转换文档52//wordDocument.Convert();5354//wordDocument.Save();5556//wordDocument.Close(refmissing,refmissing,refmissing);5758//wordApp.Quit(refmissing,refmissing,refmissing);59//wordApp=null;60//}6162voidDispPlayOnWeb()63{64//stringfileName=savName.Substring(0,savName.LastIndexOf('.'))+".docx";65using(Packagepackage=Package.Open(savName,FileMode.Open,FileAccess.Read))66{67UridocxUri=newUri("/word/document.xml",UriKind.Relative);68PackagePartdocxPart=package.GetPart(docxUri);6970XmlDocumentdocxXml=newXmlDocument();71docxXml.Load(docxPart.GetStream());7273Xml1.Document=docxXml;7475package.Close();7677File.Delete(savName);78}798081}

你可能感兴趣的:(xml,Office)