Java web项目从eclipse上移动到tomact服务器上,之路径更改,导出excel,jxl

我用的是jxl导出excel,比较简单,最开始我是固定路径不能选择,很局限,后来改了,而且固定路径当把项目放在服务器上时,路径不可行。

在网上各位大神的帮助成功设置响应头,并且可选保存路径。

1.前端

//不是用的ajax,好像ajax不能成功//js
$("#exportbaofei").click(function(){
                    window.location.href="${pageContext.request.contextPath}/ExportBaoFeiServlet";
 });
//html
<input type="button"  value="导出废模" id="exportbaofei"/>

2.servlet

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        log.info("导出报废模的servlet");
        MuJUService muJUService  = new MuJUService();
        //查询
        List<Map<String, String>>list =muJUService.exportBaoFei();
        //弹框选择路径
        WritableWorkbook book = null;
        response.reset();
        response.setCharacterEncoding("UTF-8");// 设置字符集
        // 创建工作流
        OutputStream os = null;
        try {
            // 设置弹出对话框
            response.setContentType("application/DOWLOAD");
            response.setCharacterEncoding("UTF-8");
            // 设置工作表的标题
            response.setHeader("Content-Disposition", "attachment; filename=feimu_month.xls");// 设置生成的文件名字、、不能用汉字,没有设置汉字解码
            os = response.getOutputStream();
            // 初始化工作表
            book = Workbook.createWorkbook(os);
        } catch (IOException e1) {

            log.error("导出excel出现IO异常", e1);
          //  throw new ServiceException("导出失败", e1);
            e1.printStackTrace();
        }

        //excel格式设置
        WritableFont font1= new WritableFont(WritableFont.createFont("楷体 _GB2312"), 12, WritableFont.NO_BOLD); //设置字体格式为excel支持的格式 WritableFont font3=new WritableFont(WritableFont.createFont("楷体 _GB2312"), 12, WritableFont.NO_BOLD);
        WritableCellFormat format1=new WritableCellFormat(font1);
        //把水平对齐方式指定为居中
        try {
            format1.setAlignment(jxl.format.Alignment.CENTRE);
            //把垂直对齐方式指定为居中
            format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
            //设置自动换行
            format1.setWrap(true);
        } catch (WriteException e1) {
            // TODO Auto-generated catch block
            log.error(e1);
            e1.printStackTrace();
        }

        // WritableWorkbook book = null;
            try {
                // 打开文件
               // book = Workbook.createWorkbook(new File(filename+".xls"));
                // 生成名为"学生"的工作表,参数0表示这是第一页
                WritableSheet sheet = book.createSheet("当月报废单", 0);

                sheet.addCell(new Label(0,0,"序号",format1));
                for(int i = 1;i<12;i++){
                    sheet.setColumnView(i,15);
                }
                sheet.addCell(new Label(1,0,"下单时间",format1));
                sheet.addCell(new Label(2,0,"返回时间",format1));
                sheet.addCell(new Label(3,0,"维修单号",format1));
                sheet.addCell(new Label(4,0,"产品图号",format1));
                sheet.addCell(new Label(5,0,"模具图号",format1));
                sheet.addCell(new Label(6,0,"模具规格",format1));
                sheet.addCell(new Label(7,0,"维修模号",format1));
                sheet.addCell(new Label(8,0,"维修数量",format1));
                sheet.addCell(new Label(9,0,"维修原因",format1));
                sheet.addCell(new Label(10,0,"报废模号",format1));
                sheet.addCell(new Label(11,0,"报废数量",format1));
                if(list!=null && !list.isEmpty()){
                    int rows =1;//hang
                    int cols = 0;//lie
                    for (Map<String, String> map : list) {
                        sheet.addCell(new Number(0, rows, rows));
                        sheet.addCell(new Label(1,rows,map.get("wx_xdan_data"),format1));
                        sheet.addCell(new Label(2,rows,map.get("wx_back_data"),format1));
                        sheet.addCell(new Label(3,rows,map.get("wx_danhao"),format1));
                        sheet.addCell(new Label(4,rows,map.get("wx_product_num"),format1));
                        sheet.addCell(new Label(5,rows,map.get("wx_mj_num"),format1));
                        sheet.addCell(new Label(6,rows,map.get("wx_mj_guige"),format1));
                        sheet.addCell(new Label(7,rows,map.get("wx_muhao"),format1));
                        sheet.addCell(new Label(8,rows,map.get("wx_count"),format1));
                        sheet.addCell(new Label(9,rows,map.get("wx_reason"),format1));
                        sheet.addCell(new Label(10,rows,map.get("wx_baofei_muhao"),format1));
                        sheet.addCell(new Label(11,rows,map.get("wx_baofei_count"),format1));
                        rows++;
                    }
                }
                book.write();

            } catch (Exception e) {
                log.error(e);
                System.out.println(e);
            }finally{
                if(book!=null){
                    try {
                        book.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }

    }
时间: 2024-10-09 02:10:23

Java web项目从eclipse上移动到tomact服务器上,之路径更改,导出excel,jxl的相关文章

maven构建java web项目(eclipse原理同)

maven构建java web项目 1.  mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp 如果是用eclipse,则可以新建webapp的maven工程.以下同. 2. 再pom.xml中加入 <build> <finalName>gswm-web</finalName> <plugins> <plugin> <groupId>org.apach

Java web项目从eclipse上移动到tomact服务器上,之路径更改,包括显示图片和导出excel

//项目做完之后,在本机电脑运行完全正常,上传图片,显示图片,导出excel,读取excel等功能,没有任何问题,但是,当打成war包放到服务器上时,这些功能全部不能正常使用. 最大的原因就是,本机测试跟服务器上的路径发生了变化. 记录一下,上传图片和显示图片的代码 1.前端页面: <form action="${pageContext.request.contextPath}/UploadWeiXiuServlet" enctype="multipart/form-d

Java web项目从eclipse上移动到tomact服务器上,之路径更改,读取excel,把数据存到数据库

最开始在eclipse中测试的时候,并没有上传到服务器上,后来发现,想要读取数据必须上传服务器然后把文件删除就可以了,服务器不可以直接读取外地的文件.用到jxl 1.上传到服务器 前端 <form action="${pageContext.request.contextPath}/UploadUsingExcelServlet" method="post" enctype="multipart/form-data"> 上传excel

MyEclipse开发的java web项目在 Eclipse中无法识别

不能识别项目解决办法 在eclipse下,右键项目properties   ->  project fac e ts 选中 Dynamic web module 选择后面的版本为 2.5(运行环境为tomcat6,如果选择3.0的话运行环境为tomcat7 ) 和 选中 java 另外如果发布的时候不能正常运行项目按一下修改 找到项目路径 比如我的项目在D盘的文件夹Product目录下 d:\Product\.settings\org.eclipse.wst.common.component 里

如何将Java Web项目部署到服务器上

项目部署 我们对于 Java Web 项目在本地机器(无论是 Windows 还是 Linux)上的部署已经了然于心了,那么对于在云服务器上部署 Java Web 项目又是如何操作的呢? 其实很简单,还是离不开 Web 项目部署的那三点:① 基础的 JDK 环境② 一个 Web 服务器.如 Tomcat.JBoss③ 一款数据库.如:mysql 对于云服务器上 Java Web 项目的部署,和平时在 Windows.Linux 下部署是一样的.最多也就是只能使用纯命令模式来操作而已,其实过程都一

全网最详细的Eclipse和MyEclipse里对于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)

不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 全网最详细的Eclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功[博主强烈推荐](图文详解) Eclipse是 或者 MyEclipse是 由 变成 即,只有所框的部分过去了.并且自动改名为dat08. 用MyEclipse里自带的Web Browser检测: 用第三方安装的浏览器检测: 欢迎大家,加入我的微信公众号:大数据躺过的坑   

在Heroku平台上部署maven webapp(java web)项目

目前,想要在Heroku上面部署java web项目,该项目就必须用maven管理 一:新建maven webapp项目 编辑pom.xml文件,加入如下配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or

[经验] Java Web 项目怎么部署到 Linux 系统上

废话少说, 直奔主题 第一步: 将 web 项目打成 war 包 1: 打开项目的 pom.xml 文件 如果是迭代后的项目, 记得修改项目的版本号, 这里我的是第二版所有就把 1 改成了 2 2: 将项目打包   先双击 clean, 完成后再双击 install, 等待打包完成 3: 在工程中找到 项目的 WAR 包    箭头所指的就是了 第二步: 将项目上传到 Linux 系统 将 war 包放到 Tomcat目录下的 webapps 文件夹中(有疑问的先看 https://www.cn

Eclipse java web项目引用其它java项目时的部署问题

需求:Java web项目需要调用其他Java项目 因为被引用的项目可能需要调试,并没有采用jar包方式引用,而是直接引用的项目: 如下介绍如何往Java项目中导入Java项目: 1.右击项目----->built path ----->projects-----> Add----->选中要引用的项目   并修改 native library location  2.右击项目---->Properties----->Deployment Assembly ------&