jxl 导出 word jxl导出word并下载 - 电脑|办公 - 电脑办公-杀毒安全-网络-V3学习网
微商网
 
 
导航:首页 |电脑|办公|正文

jxl 导出 word jxl导出word并下载

时间:2020-06-25 15:09:50
求教用java 生成word!!! 1-apache的POI,此方法对Excel的导出做的很好,目前对Word的导出方面的功能尚未完全。2-纯JavaScript脚本实现。主要通过客户端调用本机Off
作者:

jxl 导出 word

求教用java 生成word!!!

1-apache的POI,此方法对Excel的导出做的很好,目前对Word的导出方面的功能尚未完全。

2-纯JavaScript脚本实现。

主要通过客户端调用本机Office组件来实现。

3-在JSP页面引入头文件实现。

纯JavaScript脚本实现细节方面大体是创建一个word组件ActiveXObject("Word.Application"),用js通过表ID取得表内容然后保存到word,要注意的是js实现有很多不好的地方,例如Internet选项需要把ActiveX空间全部启用,安全级别设置为中。

这样的话岂不是每台机器都要配置一下。

其次每次生成word文档以后弹出对话框(无法保存此文件,因为它已在别处打开(C:\...\STARTUP\Powerword.dot)),出现此问题就需要把C:\Documents and Settings\当前用户名\Application Data\Microsoft\Word\STARTUP下的Powerword.dot文件删除,每次遇到此问题就需要删除文件来解决,十分不方便。

JSP页面引入来实现Word保存就方便多了,但是也有不足的地方,首先如果需要引入如果需要下载的话就引入其实如果大家用框架做就方便多了,比如Struts2。

在Action里直接写如下代码:if(out!=null){String fileName="";fileName+="评价报告.doc";try {HttpServletResponse response = ServletActionContext.getResponse();response.setHeader("Content-disposition","attachment; filename="+new String(fileName.getBytes("GB2312"), "8859_1"));} catch (UnsupportedEncodingException e) {e.printStackTrace();}out是jsp页面表单元素,一个button,用于提交表单到相应Action进行Word下载。

Action设置jsp页面头文件。

这样每次点击button就可以把相应jsp页面的内容保存到Word中并且支持下载,Word中内容并且是可编辑状态。

不足的地方在于由于表内容是动态生成,有的需要先查看在下载Word,就需要另外建立一个新JSP页面进行Word下载,当然首先要在struts.xml里配置好页面转向。

新建立的页面传值同查看页面要保持一样。

如何能让Java生成复杂Word文档

public String exportxm() throws Exception { HttpServletRequest request = ServletActionContext.getRequest(); // String wid=request.getParameter("wid"); String[] headers = { "项目名称", "填报人", "填报时间", "合同额", "预计毛利", "项目计划完成时间", "所属部门"}; String[] columns = { "sernum", "personer.name", "times","xsjobes", "xsb", "plannedate", "subdept.name"}; Map values = new HashMap(); //Page page1 = new Page(40); // 设置默认排序方式 if (!page.isOrderBySetted()) { page.setOrderBy("id"); page.setOrder(Page.DESC); } page.setPageSize(9999); page = manager.searchWork(page, values); String title="项目管理表"; // 生成Excel文件. Workbook wb = new ExcelExport(title, headers,columns, page) .exportExcelWorkbook(); // 输出Excel文件. HttpServletResponse response = Struts2Utils.getResponse(); response.setContentType(ServletUtils.EXCEL_TYPE); ServletUtils.setFileDownloadHeader(response, "项目管理-"+accountManager.getcurrentUser().getName()+".xls"); wb.write(response.getOutputStream()); response.getOutputStream().flush(); return null; } 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 /** * 设置让浏览器弹出下载对话框的Header. * * @param fileName 下载后的文件名. */ public static void setFileDownloadHeader(HttpServletResponse response, String fileName) { try { //中文文件名支持 String encodedfileName = new String(fileName.getBytes(), "ISO8859-1"); response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedfileName + "\""); } catch (UnsupportedEncodingException e) { } } public static final String EXCEL_TYPE = "application/vnd.ms-excel";、、、、、、、、、、、、、、、/** * 导出到excel * @param title 标题 * @param headers 表格头 * @param result 数据 */ @SuppressWarnings({ "rawtypes", "unchecked" }) public ExcelExport(String title,String[] headers,String[]columns, Page page){ this.title=title; this.headers=headers; this.result=transhashmap(columns, page.getResult()); } /** * 将listObject 转换为List> * @param columns * @param olist * @return */ private List> transhashmap(String[] columns,List olist){ List> result=Lists.newArrayList(); for(Object o:olist){ HashMap ht=this.transhashmap(columns, o); result.add(ht); } return result; } /** * 将object 转换为hashmap * @param columns * @param olist * @return */ private HashMap transhashmap(String[] columns,Object o){ int col=0; HashMap ht=new HashMap(); for(String column:columns){ //根据属性名称直接获取值 Object value=this.invokeGetterMethod(o, column); ht.put(col,value); col=col+1; } return ht; }

关于java导出word文档,我的项目是部署在linux上,请问还能用jacob...

但做偷懒了首先你这个Excel文件是从哪里来的,如果是真的excel就要用jxl或POI解析,如果只是html,很可能是从一个页面上下载来的,而这个页面做的功能就是导出Excel,没有用jxl和POI等库,而是用直接用jsp生成html写的。

因此你上传时就要要判断了,就要用HTML的解析方法了...

java导入excel文件,用什么最好?

关闭其中占99%的,结束进程就暂时好了,只能用绝招了--重装系统!(还一定要格式化系统C盘)我后来就这样处理的.exe惹的祸!你开机就有三个在运行就不正常了,正常的应该是只有两个,我原来还以为它是灰鸽子呢,找了很多灰鸽子专杀和杀木马的软件都查不到.exe所在的文件夹位置呢,怎么都整不死它,甚至修改对应的注册表信息都不行,没办法了,简直要累死你的CPU,你以为它是震荡波,我也曾经经历过,我还找到svchost,但下次开机还是如此是svchost

大家还关注
    
阅读排行
推荐阅读