`
y806839048
  • 浏览: 1127022 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

导出,下载,(如何决定下不下载)

阅读更多

导出:

1,准备数据写入jsp(可以直接用一个jsp模板承接,也可以后台用流写动态的jsp,outputStream.writer())

2,要让其会下载不展现需要设置响应的头类型:(jsp中设置,动态写入时设置)

<%@ page import="java.util.*"%>

<%

   String file_name=java.net.URLEncoder.encode("企业会员信息列表.xls","UTF-8") ;

   response.setHeader("Content-disposition","attachment; filename="+file_name);

   //以上这行设定传送到前端浏览器时的档名为test1.xls

   

   //就是靠这一行,让前端浏览器以为接收到一个excel档 

%>

<%-- <%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> --%>

<%@ page contentType="application/msexcel; charset=UTF-8" %>//这两个都可以,下面这个更正规

 

//.do请求要不要下载就是设置这个头

 

 

model.addAttribute("operateuserList", op);//同样分key会被覆盖,取最后一个

 

@SuppressWarnings({ "rawtypes", "unchecked" })

@RequestMapping("/account/tbCusFirmChg/customerListXLS")

public String customerListXLS(TbCusFirmChgVo tbCusFirmChg,Model model) throws EsteelException {

Map<String,Object> param = new HashMap<String,Object>();

param.put("pageNum", tbCusFirmChg.getPageNum()+"");

param.put("pageSize", tbCusFirmChg.getPageSize()+"");

tbCusFirmChg.setCusTradeKind("A");

param = getParam(param,tbCusFirmChg);

        if (null == tbCusFirmChg.getOrderField() || tbCusFirmChg.getOrderField() == "") {

        tbCusFirmChg.setOrderField("CUSTOMER_KEY");

        tbCusFirmChg.setOrderDirection("ASC");

}

        param.put("orderField", "C."+tbCusFirmChg.getOrderField());

        param.put("orderDirection", tbCusFirmChg.getOrderDirection());

        List<TbCusFirmChgVo> tbCusFirmWebList= tbCusFirmChgService.getTbCusFirmChgList(param);

//        if(tbCusFirmWebList!=null&&tbCusFirmWebList.size()>0){

//        for(TbCusFirmChgVo b:tbCusFirmWebList){

        Map<String,Object> param1 = new HashMap<String,Object>();

//        param1.put("customer_key", b.getCustomerKey()+"");

        List<TbCusUserVo> op= tbCusUserService.getOperateUser(param1);

        model.addAttribute("operateuserList", op);//子账户

//        }

//        

//        }

        

List<TbBasBedSrt> tbBasBedSrtList = new ArrayList<TbBasBedSrt>();

tbBasBedSrtList= tbBasBedSrtService.list();

List<String> companyType= tbCusFirmChgService.getCompanyType();

model.addAttribute("list", tbCusFirmWebList);

model.addAttribute("basbedsrt", tbBasBedSrtList);

model.addAttribute("companyType", companyType);

return "/account/tbCusFirmChg/customerListXLS";

}

 

 

样式可以自己拼装

 

 

 

对于我们框架中ajax请求返回要不要下载用

<!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->

<bean id="mappingJacksonHttpMessageConverter"

class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">

<property name="supportedMediaTypes">

<list>

<value>text/html;charset=UTF-8</value>

</list>

</property>

</bean> 

 

 

 

 

===============================================

 

 

<%@ page contentType="application/msexcel; charset=UTF-8" %>

<%@ include file="../common/include.inc.jsp"%>

<%@ page import="java.util.*"%>

<%

   String file_name=java.net.URLEncoder.encode("企业会员信息列表.xls","UTF-8") ;

   response.setHeader("Content-disposition","attachment; filename="+file_name);

   //以上这行设定传送到前端浏览器时的档名为test1.xls

   

   //就是靠这一行,让前端浏览器以为接收到一个excel档 

%>

<%-- <form id="pagerForm" method="post"

action="/basBedSrt//edit/${vo.warekind_id}">

<input type="hidden" name="pageNum" value="1" />

</form>  onsubmit="return checkForm(this); --%>

<link rel=File-List href="Page.files/filelist.xml">

<style id="会员信息列表_10891_Styles">

table

{mso-displayed-decimal-separator:"\.";

mso-displayed-thousand-separator:"\,";}

.font510891

{color:windowtext;

font-size:9.0pt;

font-weight:400;

font-style:normal;

text-decoration:none;

font-family:宋体;

mso-generic-font-family:auto;

mso-font-charset:134;}

.xl1510891

{padding-top:1px;

padding-right:1px;

padding-left:1px;

mso-ignore:padding;

color:windowtext;

font-size:12.0pt;

font-weight:400;

font-style:normal;

text-decoration:none;

font-family:宋体;

mso-generic-font-family:auto;

mso-font-charset:134;

mso-number-format:General;

text-align:general;

vertical-align:bottom;

mso-background-source:auto;

mso-pattern:auto;

white-space:nowrap;}

.xl2210891

{padding-top:1px;

padding-right:1px;

padding-left:1px;

mso-ignore:padding;

color:windowtext;

font-size:12.0pt;

font-weight:400;

font-style:normal;

text-decoration:none;

font-family:宋体;

mso-generic-font-family:auto;

mso-font-charset:134;

mso-number-format:General;

text-align:general;

vertical-align:bottom;

border:.5pt solid windowtext;

mso-background-source:auto;

mso-pattern:auto;

white-space:nowrap;}

ruby

{ruby-align:left;}

rt

{color:windowtext;

font-size:9.0pt;

font-weight:400;

font-style:normal;

text-decoration:none;

font-family:宋体;

mso-generic-font-family:auto;

mso-font-charset:134;

mso-char-type:none;}

 

</style>

<div class="pageContent">

<form method="post" 

action="<c:url value='/account/tbCusFirmChg/editJypz?navTabId=tbConFirmFeeNav&callbackType=closeCurrent&flag=${flag}'/>"

class="pageForm required-validate" onsubmit="return validateCallback(this,navTabAjaxDone);" >

<%-- <input type="hidden" name="id" value="${vo.ware_key}" /> --%>

<div class="pageFormContent" layoutH="57">

   <input type="hidden" name="customerKey" value="${regUser.CUSTOMER_KEY}" />

   <input type="hidden" name="customerId" value="${regUser.CUSTOMER_ID}" />

   <input type="hidden" name="creditGrade" value="${regUser.CREDIT_GRADE}" />

   <input type="hidden" name="compType" value="${regUser.COMP_TYPE}" />

   <input type="hidden" name="tradeApt" value="${regUser.TRADE_APT}" />

   <input type="hidden" name="chineseName" value="${regUser.CHINESE_NAME}" />

   <input type="hidden" name="englishName" value="${regUser.ENGLISH_NAME}" />

   <input type="hidden" name="communicateAddress" value="${regUser.COMMUNICATE_ADDRESS}" />

   <input type="hidden" name="companyType" value="${regUser.COMPANY_TYPE}" />

   <input type="hidden" name="mainManage" value="${regUser.MAIN_MANAGE}" />

   <input type="hidden" name="companyKind" value="${regUser.COMPANY_KIND}" />

   <input type="hidden" name="cusTradeKind" value="${regUser.CUS_TRADE_KIND}" />

   

   

   <table x:str border='0' cellpadding='0' cellspacing='0' width='1008'

style='border-collapse: collapse;table-layout:fixed;width:756pt'>

<col width='80' span=14 style='width:60pt'>

<tr height='19' style='height:14.25pt'>

<td height='19' class='xl2210891' width='80'style='height:14.25pt;width:60pt'>序号</td>

<td height='19' class='xl2210891' width='80'style='height:14.25pt;width:60pt'>会员编码</td>

<td class='xl2210891' width='80' style='border-left:none;width:60pt'>境内/境外</td>

<td class='xl2210891' width='80' style='border-left:none;width:60pt'>会员名称</td>

<td class='xl2210891' width='80' style='border-left:none;width:60pt'>联系人</td>

<td class='xl2210891' width='80' style='border-left:none;width:60pt'>手机号</td>

<td class='xl2210891' width='80' style='border-left:none;width:60pt'>邮箱</td>

<td class='xl2210891' width='80' style='border-left:none;width:60pt'>申请日期</td>

<td class='xl2210891' width='80' style='border-left:none;width:60pt'>审批日期</td>

<td class='xl2210891' width='80' style='border-left:none;width:60pt'>会员状态</td>

</tr>

 

 

            <c:forEach items="${list}" var="item" varStatus="s">

            

            <tr height='19' style='height:14.25pt'>

<td height='19' class='xl2210891' align='right'

style='height:14.25pt;border-top:none'>

${s.index+1}

</td>

<td height='19' class='xl2210891' align='right'

style='height:14.25pt;border-top:none'>

${item.customerId}

</td>

<td class='xl2210891' align='right'

style='border-top:none;border-left:none'>

<c:if test="${item.compType=='A'}">境内</c:if>

<c:if test="${item.compType=='B'}">境外</c:if>

</td>

<td class='xl2210891' align='right'

style='border-top:none;border-left:none'>

${item.customerName}

</td>

<td class='xl2210891' align='right'

style='border-top:none;border-left:none'>

${item.tradeManName}

</td>

<td class='xl2210891' align='right'

style='border-top:none;border-left:none'>

${item.tradeManMobile}

</td>

<td class='xl2210891' align='right'

style='border-top:none;border-left:none'>

${item.tradeManEmail}

</td>

<td class='xl2210891' align='right'

style='border-top:none;border-left:none'>

${item.registerDate}

</td>

<td class='xl2210891' align='right'

style='border-top:none;border-left:none'>

<fmt:formatDate value="${item.chkTime}" pattern="yyyy-MM-dd"/>

</td>

<td class='xl2210891' align='right'

style='border-top:none;border-left:none'>

${item.customerStatus}

</td>

</tr>

 

 

<tr height='19' style='height:14.25pt'>

 <td height='19' class='xl2210891' width='100' style='height:14.25pt;width:60pt'>序号</td>

 <td height='19' class='xl2210891' width='100' style='height:14.25pt;width:60pt'>子账号</td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'>手机号码</td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'>邮箱</td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 

</tr>

 

 

<c:forEach items="${operateuserList}" var="oplist" varStatus="st">

<c:if test="${item.customerKey==oplist.customer_key}">

<tr height='19' style='height:14.25pt'>

<td height='19' class='xl2210891' align='right'

style='height:14.25pt;border-top:none'>

${st.index+1}

</td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'>

 ${oplist.cus_user_id}

 </td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'>

 ${oplist.tel}

 </td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'>

 ${oplist.email}

 </td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td height='19' class='xl2210891' width='80' style='height:14.25pt;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

</tr>

</c:if>

 

</c:forEach>

 

<tr height='19' style='height:14.25pt'>

 <td height='19' class='xl2210891' width='100' style='height:14.25pt;width:60pt'></td>

 <td height='19' class='xl2210891' width='100' style='height:14.25pt;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td>

 <td class='xl2210891' width='80' style='border-left:none;width:60pt'></td> 

</tr>

            

            </c:forEach>

 

<![if supportMisalignedColumns]>

<tr height='0' style='display:none'>

<td width='80' style='width:60pt'></td>

<td width='80' style='width:60pt'></td>

<td width='80' style='width:60pt'></td>

<td width='80' style='width:60pt'></td>

<td width='80' style='width:60pt'></td>

<td width='80' style='width:60pt'></td>

<td width='80' style='width:60pt'></td>

<td width='80' style='width:60pt'></td>

<td width='80' style='width:60pt'></td>

</tr>

<![endif]>

</table>

 

 

 

 

<!-- 证件附件查看 开始 -->

 

</div>

</form>

</div>

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Struts2文件流方式导出下载excel、Txt、image图片

    在实际项目中,我们经常需要提供文件下载功能,比如导出Excel表格、文本文件或者图片。Struts2提供了文件流的方式来实现这一需求,这种方式避免了在服务器上生成临时文件,提高了效率并减少了服务器存储空间的占用。...

    ext实现导出excel的功能。

    6. **导出所有数据**:与导出当前页相对,导出所有数据会包含存储中的所有记录,即使它们不在当前页面。这可能需要先加载所有数据到存储,然后再进行导出。 7. **实现方法**:EXTJS没有内置的直接导出到Excel的功能...

    jeecg Excel通过模板导出

    下载后,你可以根据自己的需求进行修改,然后在Jeecg项目中引用,实现自己的数据导出功能。 总的来说,"Jeecg Excel通过模板导出"是一种强大的功能,它简化了复杂的Excel格式设定,使得开发者可以专注于数据处理,...

    3D Max导出OBJ序列

    设置起始帧、结束帧和步进值,以决定导出哪些帧。例如,如果你的动画从1到100帧,步进为1,则会导出1,2,3...100的所有帧。 7. **保存并确认**:确认所有设置后,点击“确定”按钮开始导出过程。3D Max会根据你的...

    【ASP.NET编程知识】asp.net生成Excel并导出下载五种实现方法.docx

    在ASP.NET编程中,生成Excel并导出下载是一项常见的需求,尤其在数据分析和报表生成时。以下是五种不同的实现方法: 1. **方法一:通过GridView** GridView控件是ASP.NET中用于显示数据的常用组件。这种方法适用于...

    OGREMAX导出MESH文件

    这样可以避免导出后出现材质不匹配的问题,确保最终模型在游戏中的表现一致性和美观性。 通过以上步骤,使用OGREMAX从3D MAX导出MESH文件的过程就变得简单且高效。对于游戏开发者而言,熟练掌握这一技能不仅能提升...

    罗宾逊QQ群好友导出工具-绿色免费版~~

    都是csdn不好,下载个啥都要积分,都已经n年没有在论坛泡了,哪里来的积分下载工具呢,这两天在找qq群用户导出工具,看到很多穷工,写了真不咋地的导出工具,不是不能用,就是卖RMB卖的贼贵.... 为了大家的幸福,所以...

    前端导出Excel table2excel

    这通常涉及到遍历表格的列,根据业务需求决定哪些列需要被导出,哪些不需要。例如,我们可以创建一个数组,列出需要排除的列索引,然后在转换函数中排除这些列。这样可以确保导出的Excel文件只包含用户关心的数据。 ...

    poi导出excel并下载工具类(含有demo)

    标签 "通用导出下载" 暗示这个工具类设计得足够通用,适用于多种场景,不论数据类型或导出需求如何变化,都可以轻松适应。 从压缩包子文件的文件名称列表 "新建文件夹 (2)" 来看,可能包含了一个或多个示例项目或...

    帆软报表导出各种格式(excel/word/pdf等)

    在本主题中,我们将探讨如何使用帆软报表导出各种格式,包括Excel、Word和PDF等,以便满足不同场景下的需求。 首先,我们要知道帆软报表的导出功能依赖于两个核心的Java类库:fr-server-6.5.jar和fr-third-6.5.jar...

    JXL导出Excel数据表

    例如,你可以决定只导出某些字段,设置每个字段的标题,甚至调整它们在工作表中的排列顺序。这样,即使数据库结构发生变化,只需调整代码即可适应新的导出需求。 支持本地文件存储和JSP/Servlet文件下载是JXL库的另...

    导入导出Excel方法,很详细

    在IT行业中,Excel工具类是常见的数据处理模块,尤其在数据导入与导出场景下,它们扮演着至关重要的角色。本篇文章将详细讲解如何利用编程语言实现Excel的导入与导出,以及创建合适的模板来确保数据对应无误。 首先...

    普通方式和Ext方式导出Excel代码

    总结来说,导出Excel涉及服务器端处理和客户端交互,具体方法的选择需根据项目需求和技术栈来决定。无论采用哪种方式,都需要考虑性能、兼容性和用户体验等因素。对于Ext框架,理解其数据模型和事件系统是实现导出...

    3dmax 导出FBX插件

    - **几何体**:你可以决定是否导出多边形、线框或点云,以及是否优化模型以减少顶点数。 - **材质与纹理**:选择是否导出材质库,以及UV坐标和贴图信息。 - **动画**:可以导出关键帧动画,包括骨骼、蒙皮和变形...

    关于表单的导出EXCEL设计,有时需要选择性的导出表单上的某些数据的解决方案

    7. 用户界面选择:为了让用户能自定义导出内容,可以提供一个选择框或下拉菜单,让用户决定哪些字段需要导出。这些选择可以在前端通过JavaScript处理,或在后端通过接收参数来控制导出的字段。 总结起来,实现选择...

    php导出excel文件

    // 决定要导出的文件格式,这里是Excel2007 $format = 'Excel2007'; // 创建写入处理器 $writer = PHPExcel_IOFactory::createWriter($objPHPExcel, $format); // 输出到浏览器,用户可以下载 header('Content-...

    UE4基础动画包导出FBX格式动画文件

    状态机决定了角色在不同动画之间的转换逻辑,例如,当角色停止移动时,会从“Run”状态过渡到“Ideal”状态;跳跃时,则从“Walk”或“Run”状态进入“JumpStart”,然后通过“JumpLoop”持续跳跃,最后在“JumpEnd...

    ASP.NET导出到excel\aspnet里导出excel表方法汇总

    在Web应用程序开发中,经常需要将数据导出为Excel文件,以便用户可以下载或进一步处理这些数据。ASP.NET提供多种方式来实现这一功能,包括但不限于直接使用.NET Framework提供的类库、利用第三方组件以及通过服务器...

    3DS MAX 导出 DirectX X 文件的插件 3d max 导出 x 文件 插件

    3. **材质与纹理**:决定是否将3DS MAX的材质和贴图信息一起导出,以及如何映射到DirectX的材质系统。 4. **优化选项**:如简化模型,减少多边形数量,以适应性能有限的硬件环境。 5. **压缩选项**:可以选择不同的...

    java导入导出通用模板

    例如,通过反射,我们可以获取类的所有字段,检查它们是否带有`@ExportField`注解,然后根据这些注解来决定如何处理数据。 Java POI库是Apache项目提供的一个用于读写Microsoft Office格式文件的API,特别适用于...

Global site tag (gtag.js) - Google Analytics