POI导出Excel

来源:互联网 发布:胡杨网络 天津 编辑:程序博客网 时间:2024/06/03 19:58
POI导出Excel
    @Action(value = "area_export")
    public String exportExcel() throws Exception {
        // 1.获取数据List
        List<Area> rstList = areaService.findAll();
        // 2.创建一个工作簿
        HSSFWorkbook workbook = new HSSFWorkbook();
        // 3.创建一个sheet
        HSSFSheet sheet = workbook.createSheet("区域信息");
        // 4.创建表头
        HSSFRow row = sheet.createRow(0);
        row.createCell(0).setCellValue("编号");
        row.createCell(1).setCellValue("省");
        row.createCell(2).setCellValue("市");
        row.createCell(3).setCellValue("区");
        row.createCell(4).setCellValue("邮编");
        row.createCell(5).setCellValue("城市编码");
        row.createCell(6).setCellValue("简码");
        // 5.创建Rows
        if (rstList != null && rstList.size() > 0) {
            for (int i = 0; i < rstList.size(); i++) {
                HSSFRow tempRow = sheet.createRow(i + 1);
                Area area = rstList.get(i);
                // 6.创建cell,往Cell里面填值
                tempRow.createCell(0).setCellValue(area.getId());
                tempRow.createCell(1).setCellValue(area.getProvince());
                tempRow.createCell(2).setCellValue(area.getCity());
                tempRow.createCell(3).setCellValue(area.getDistrict());
                tempRow.createCell(4).setCellValue(area.getPostcode());
                tempRow.createCell(5).setCellValue(area.getCitycode());
                tempRow.createCell(6).setCellValue(area.getShortcode());
            }
        }
        // 7.把工作簿写到前台进行下载application/vnd.ms-excel
        String filename = "区域信息.xls";
        ServletActionContext.getResponse().setContentType(
                ServletActionContext.getServletContext().getMimeType(filename));
        filename = new String(filename.getBytes(),"ISO8859-1");
        ServletActionContext.getResponse().setHeader("Content-Disposition", "attachment;filename="+filename);
        ServletOutputStream out = ServletActionContext.getResponse()
                .getOutputStream();
        workbook.write(out);

        return NONE;
    }

自动派单业务流程

websevice
    CXF
        ws(jax-ws:java api for xml web service)
            wsdl:web service definition language
            通过wsdl生成java源代码
            wsdl2java -d C:\Users\ligang\Desktop\ws -client http://localhost:9999/userService?wsdl
            独立
                服务器(提供服务,提供数据)
                    1.导入jar包
                    2.编写service,dao,model
                    3.发布服务
                        接口 service = new 实现类
                        Address 访问路径
                        EndPoint.publish(service,Address);
                客户端
                    1.导入jar包
                    2.拿到对应的接口和model
                        service.queryList();
                    3.JaxWsProxyFactoryBean
                        jaxWsProxyFactoryBean.setServiceClass(IUserService.class);
                        jaxWsProxyFactoryBean.setAddress("http://localhost:9999/userService");
                        proxy = jaxWsProxyFactoryBean.create();
                        proxy.xxx();
            
            spring整合
                服务器(提供服务,提供数据)
                    1.导入对应的jar包
                    2.编写service,dao,model  @WebService @WebMethod
                    3.配置web.xml--->servlet(CXFServlet)
                    4.配置applicationContext.xml
                        <jaxws:server id="" serviceClass="serviceInterface类全名" address="">
                            <serviceBeans>
                                <bean class="serviceImpl类全名"/>
                            </serviceBeans>
                        </jaxws:server>
                    5.
                    最终的访问路径:
                        http://ip:端口/项目名/services/applicationContext.xml(address)
                客户端
                    <jaxws:client id="" address="" serviceClass="">
                        <!--log-->
                    </jaxws:client>
        rs (jax-rs:java api for restfule web service) xml/json
        
            http://ip:端口/项目名/teacher
            GET 查询
            POST 新增
            PUT    修改
            DELETE 删除
                怎么发送对应类型的请求????WebClient.creaet(url).type|accept().
                怎么发送对应请求需要的参数???
                怎么获取关于查询返回的结果??? get() getCollection(User.class)
            独立
                服务器(提供服务,提供数据)
                    1.导入对应的jar包
                    2.编写service,dao,model????
                        @XmlRootElement
                        服务器端方法对于数据的处理方式
                        return  @Produces
                        参数    @Consumes
                        @Path @GET @POST @DELETE @PUT
                    3.发布服务????
                        // 创建业务接口 实现类对象
                        IUserService userService = new UserServiceImpl();
                        // 服务器FactoryBean 创建服务
                        JAXRSServerFactoryBean jaxrsServerFactoryBean = new JAXRSServerFactoryBean();
                        jaxrsServerFactoryBean.setResourceClasses(User.class, Car.class); // 将哪些实体数据转换xml、json发送
                        jaxrsServerFactoryBean.setServiceBean(userService);
                        jaxrsServerFactoryBean.setAddress("http://localhost:9997");
                        // 发布服务
                        jaxrsServerFactoryBean.create();
                客户端
                    WebClient
                        create(url)
                        type()
                        accept()
                        post()|put()|get(模型类.class)|getCollection(模型类.class)|delete()
            spring整合
                服务器(提供服务,提供数据)
                    1.导入对应的jar包
                    2.编写service,dao,model
                    3.配置web.xml--->servlet(CXFServlet)
                    4.配置applicationContext.xml
                        <jaxws:server id="" address="">
                            <serviceBeans>
                                <bean class="serviceImpl类全名"/>
                            </serviceBeans>
                        </jaxws:server>
                    5.访问地址
                        http://ip:端口/项目名/web.xml(CXFServlet-url-pattern)/applicationContext.xml(address)/@Path(类)/@Path(方法)
                客户端
                    WebClient
                        create(url)
                        type()
                        accept()
                        post()|put()|get(模型类.class)|getCollection(模型类.class)|delete()
    1理清楚表关系
        bos
        t_fixed_area
        crm
        t_customer
    2准备webservice服务
        (1)查找未关联定区的客户
        (2)查找已经关联某个定区的客户
        (3)更改客户表定区ID
    3找到对应的列表---->datagrid---->toolbar---->关联客户按钮---->handler---->
    ajax查询未关联定和已经关联某个定区的客户(action--webservice)--->
    回显查询的数据---->打开window--->左右互移的效果--->关联客户按钮
    ----->绑定点击事件提交数据------>action---->webservice(更改客户表定区ID)
               
原创粉丝点击