直接在网页上显示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}
要在Java中实现将Word文档的内容动态导入并在Web页面上显示,可以结合Spring MVC框架和Apache POI库。以下是一个简化的步骤: 1. **依赖管理**:在Spring Boot项目中,添加Apache POI的依赖。如果使用Maven,同样是在`pom.xml`中加入: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> </dependency> ``` 2. **服务层处理**:创建一个Service类,负责读取Word文档内容: ```java @Service public class WordContentService { private static final String DOCUMENT_PATH = "classpath:/path/to/your/document.docx"; public byte[] getDocumentContent() { FileInputStream fileInputStream = null; try { fileInputStream = new FileInputStream(DOCUMENT_PATH); return Files.readAllBytes(fileInputStream); } catch (IOException e) { throw new RuntimeException("Failed to read Word document", e); } finally { if (fileInputStream != null) { try { fileInputStream.close(); } catch (IOException ignored) {} } } } } ``` 3. **控制器映射**:在Controller中接收请求,调用Service,然后响应给前端: ```java @RestController public class DocumentController { @Autowired private WordContentService wordContentService; @GetMapping("/document") public ResponseEntity<byte[]> displayDocument() { byte[] content = wordContentService.getDocumentContent(); return ResponseEntity.ok(content).contentType(MediaType.APPLICATION_OCTET_STREAM); } } ``` 4. **HTML视图**:在前端模板(如Thymeleaf、JSP或直接使用JavaScript)中,利用AJAX从服务器获取文档内容并显示。这可能涉及到使用`<iframe>`标签嵌入,但需要注意跨域问题。 5. **安全考虑**:由于涉及敏感数据,记得对敏感操作进行权限验证和加密传输。 注意:在实际应用中,为了更好地用户体验,推荐将Word转换成PDF或者其他更友好的格式,而不是直接网页显示原始Word文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值