action处理excel表格
来源:互联网 发布:68端口 编辑:程序博客网 时间:2024/06/06 00:16
1、在action处理类中获取servlet请求相应
proteted HttpServletResponse getHttpServletResponse(){
ActionContext= Action.getContext();
return (HttpServletResponse)ac.get(ServletActionContext.HTTP_RESPONSE);
}
HttpServletResponse response=supper.getHttpServletResponse();
//设置响应头与内容
String fileName="机构授信表";
//设置响应相关的设置
response.setCharacterEncoding("UTF-8");//设置字符编码
response.setContentType("application/vnd.ms-excel");//设置生成的是EXCEL文件
//当用户想把请求所得内容存为一个文件的时候,提供一个默认文件名;浏览器会提示保存还是打开,不会有浏览器直接打开
response.setHeader("Content-disposition","attachment;filename="+new String(fileName.getBytes("gb2321"),"ISO8859-1")+""+".xlsx");
获取文件输出流
OutputStream out=response.getOutputStream();
service.export(out);
2、service中输出文件方法
private BaseDao baseDao;
Alt+shift+s; 自动生成get和set方法
public void export(OutputStream os)throws ServiceException(){
Session sessin=baseDao.getSessioFactory().getCurrentSession();
//创建一个Excel文件
XSSFWorkbook wb=new XSSFWorkbook();
//创建一个工作薄
final XSSFSheet workSheet= wb.createSheet("sheet");
//创建文件的行
final XSSFWorkSheet head=workSheet.createRow(0);
//从Hibernate中获取JDBC连接work是一个接口
session.doWork(new Work){
public void execute(Connection conn)throws SQLExecption(){
PreparedStatement st=conn.prepareStatement("sql语句"--select org_id,org_Nm_Cn from org_Info order By org_id);
ResultSet re=st.executeQuery();
int i=1;
while(re.next()){
final XSSFCell cell=head.createCell(i++);
cell.serCellValue(re.getString("orgNmCn");
st.close();
re.close();
}
}
});
session.doWork(new Work){
public void execute(Connection conn) throws SQLExecption(){
PreparedStatement st=conn.prepareStatement("sql语句-- select org_id, org_nm_cn, crdt_org_id, crdt_org_nm_cn, INTL_CRDT_AMNT, CRDT_RL_F, min_crdt_amnt from v_crdt");
ResultSet re=st.executeQuery();
int row=1,column=0;
String orgNm_cn=null;
XSSFRow currentRow=null;
while(re.next()){
if( !StringUtils.equals(orgNm_cn,re.getString("orgNmCn"))){
orgNm_cn=re.getString("orgNmCn");
currentRow=worksheet.createRow(row++);
currentRow.createCell(0).setValue(orgNm_cn);
column=1;
}
String value;
String ament=re.getString("INTL_CRDT_AMNT");
if(null==ament){
value="--";
}else if(ament=="-1"){
value="√";
}else if(ament=="-2"){
value="--";
}else{
value=ament;
}
String minCrdt=re.getString("min_crdt_amnt");
if( !StringUtils.isEmpty(minCrdt) && "-2".equals(mincrdt)){
vale=value+"("+minCrdt+")";
}
curremtRow.creatCell(column++).setCellValue(value);
}
st.close();
re.close();
}
});
}
阅读全文
0 0
- action处理excel表格
- c#处理excel表格
- python处理excel表格
- python处理excel表格
- Python处理excel表格
- Excel表格处理工具
- NPOI Excel表格处理
- 使用Python处理Excel表格
- 使用python处理excel表格
- 使用Python处理Excel表格
- 用sqlserver处理excel表格
- Python Module_openpyxl_处理Excel表格
- 用pandas处理excel表格
- Python处理Excel(二):个性化Excel表格
- 用POI HSSF处理EXCEL表格
- java对excel表格的处理
- 处理Excel表格标题技巧二则
- 用POI HSSF处理EXCEL表格
- HaDoop_分布式集群搭建(zookeeper,hadoop)
- CCF认证201604-1 折点计数
- Ubuntu下配置IP地址的方法
- C# 关于多线程的一点事
- 2017秋招,网易校招网络笔试第二题,java实现
- action处理excel表格
- 用java验证邮箱地址是否合法
- 第一个只出现一次的字符
- 阿里云优惠,阿里云邮箱优惠,阿里云ECS优惠码
- ViewPager加载Fragment,切换时onCreateView多次调用问题
- javaweb学习总结(三)泛型的详解
- 如何写出文档的价值
- ESP8266 、station模式、 单连接透传模式 、基本指令
- mysql-5.7.19-winx64 初始密码登录以及修改密码