Java在线生成word excel 文档 -----Springmvc
程序员文章站
2022-03-12 21:38:52
...
此示例演示用 pageoffice 在线打开编辑保存office 办公文档
需要用到的jar包(http://www.zhuozhengsoft.com/dowm/?v=4)下载试用程序包
pageoffice4.5.0.4.jar
1.WEB.XML
<!-- PageOffice Begin -->
<servlet>
<servlet-name>poserver</servlet-name>
<servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/poserver.zz</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/sealsetup.exe</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/posetup.exe</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/pageoffice.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/jquery.min.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/pobstyle.css</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>adminseal</servlet-name>
<servlet-class>com.zhuozhengsoft.pageoffice.poserver.AdminSeal</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>adminseal</servlet-name>
<url-pattern>/adminseal.zz</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adminseal</servlet-name>
<url-pattern>/loginseal.zz</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adminseal</servlet-name>
<url-pattern>/sealimage.zz</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>mht</extension>
<mime-type>message/rfc822</mime-type>
</mime-mapping>
<context-param>
<param-name>adminseal-password</param-name>
<param-value>111111</param-value>
</context-param>
<!-- PageOffice End -->
<servlet>
<servlet-name>chapter2</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>chapter2</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
2:spring-servlet.xml
<!-- 开始spring mvc的注解 -->
<mvc:annotation-driven/>
<!-- 这样根目录下面的resource的文件(.css,.js等)就不会被spring的DispatchServlet进行过滤 -->
<mvc:resources location="/resources/" mapping="/resources/**"/>
<!-- 配置注解扫描的包路径 -->
<context:component-scan base-package="web"></context:component-scan>
<!-- 配置action中返回的视图配置 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
3:JSP页面
(1):index.jsp
<div style="text-align: center;">
<b>在线编辑保存Office文档</b>
<br>
<a
href="javascript:POBrowser.openWindowModeless('open.do?type=word' , 'width=1200px;height=800px;');">在线编辑保存Word文档</a>
<br>
<a
href="javascript:POBrowser.openWindowModeless('open.do?type=excel' , 'width=1200px;height=800px;');">在线编辑保存Word文档</a>
<br>
</div>
(2)WordOrExcel.jsp
<script type="text/javascript">
function Save() {
document.getElementById("PageOfficeCtrl1").WebSave();
window.external.close();//关闭POBrowser窗口
}
</script>
<div style="width: 100%; height: 100%;">
<%
PageOfficeCtrl poCtrl = (PageOfficeCtrl) request
.getAttribute("pageoffice");
%>
<%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
</div>
4:后台代码
打开文档代码
@RequestMapping("open")
public String openword(HttpServletRequest request,
HttpServletResponse response) {
String type = request.getParameter("type");
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
// 设置服务器页面
poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");
// 设置保存的action
poCtrl.setSaveFilePage("savefile.do");
// 设置打开的文档
// 打开word
if ("word".equals(type)) {
poCtrl.webOpen("doc/test.doc", OpenModeType.docAdmin, "张三");
}
if ("excel".equals(type)) {
poCtrl.webOpen("doc/test.xls", OpenModeType.docAdmin, "张三");
}
request.setAttribute("pageoffice", poCtrl);
return "WordOrExcel";
}
保存代码
@RequestMapping("savefile")
public void savefile(HttpServletRequest request, HttpServletResponse response){
FileSaver fs = new FileSaver(request, response);
fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/") + "/" + fs.getFileName());
fs.close();
}
最后打开文档的效果
打开文档的时候需要注册,这是一个试用的序列号
IMTG6-BSXJ-JGZ6-3BIWM
上一篇: 使用Spark进行微服务的实时性能分析
下一篇: Spring
推荐阅读
-
java使用Jsoup组件生成word文档
-
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
-
java中针对safari下载pdf、excel、word等文档变成exe文件解决办法
-
FreemarkerJavaDemo【Android将表单数据生成Word文档的方案之一(基于freemarker2.3.28,只能java生成)】
-
ASP.NET Core 2.0集成Office Online Server(OWAS)实现办公文档的在线预览与编辑(支持word\excel\ppt\pdf等格式)
-
C# 基于NPOI+Office COM组件 实现20行代码在线预览文档(word,excel,pdf,txt,png)
-
excel根据rgb自动填充颜色_根据EXCEL数据自动生成WORD文档
-
Java在线打开word文档并强制留痕的方法
-
Java利用POI生成Word、Excel文档转换成PDF,PDF转换成图片
-
Java实现 word、excel文档在线预览