springboot实现浏览器弹出下载txt文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38373006/article/details/79155281

public void exportTxt(HttpServletRequest request,HttpServletResponse response) {
try {
request.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
String name=request.getParameter("name");
String brandName=request.getParameter("brand_name");
String barcode=request.getParameter("barcode");
String standardCategory=request.getParameter("standard_category");
Record param =new Record();
if(StrKit.notBlank(name)&&!("undefined".equals(name))){
param.set("name", name);
}else{
param.set("name", null);
}
if(StrKit.notBlank(brandName)&&!("undefined".equals(brandName))){
param.set("brand_name ", brandName);
}else{
param.set("brand_name", null);
}
if(StrKit.notBlank(barcode)&&!("undefined".equals(barcode))){
param.set("barcode", barcode);
}else{
param.set("barcode", null);
}
if(StrKit.notBlank(standardCategory)&&!("undefined".equals(standardCategory))){
param.set("standard_category", standardCategory);
}else{
param.set("standard_category", null);
}
PU.setSQLRecord(param, "name like", "brand_name like", "barcode like",
"standard_category like");
Kv content = PU.selectToKv("product_info","*",param.set("gmt_status !=", "DELETED"), "gmt_create asc");
List<Record> productlist= Db.find(Db.getSqlPara("edeye.dynamic", content));
if (productlist.size()>0) {
//导出txt文件   
            response.setContentType("text/plain");
            String fileName="产品信息";
            try {
response.setHeader("Content-Disposition","attachment; filename=" +  java.net.URLEncoder.encode(fileName, "UTF-8")       + ".txt");//导出中文名称
} catch (UnsupportedEncodingException e2) {
e2.printStackTrace();
}
            BufferedOutputStream buff = null;     
            StringBuffer write = new StringBuffer();  
            ServletOutputStream outSTr = null; 
            try {
outSTr = response.getOutputStream();// 建立     
buff = new BufferedOutputStream(outSTr); 
String tab = "\r\n";
String tcb = "\t";
write.append("产品名称" + tcb);
write.append("品牌名称" + tcb);
write.append("商品条码" + tcb);
write.append("标准号" + tcb);
write.append("标准名称" + tcb);
write.append("标准分类" + tcb);
write.append("产品规格" + tcb);
write.append("保质期" + tcb);
write.append("产品成分" + tcb);
write.append("下单总数量" + tcb + tab);
for (Record record : productlist) {
write.append(null==record.get("name") ?"无" + tcb:record.get("name")+ tcb);
write.append(null==record.get("brand_name") ?"无" + tcb:record.get("brand_name") + tcb);
write.append(null==record.get("barcode") ?"无" + tcb:record.get("barcode") + tcb);
write.append(null==record.get("standard_code") ?"无" + tcb:record.get("standard_code") + tcb);
write.append(null==record.get("standard_name") ?"无" + tcb:record.get("standard_name") + tcb);
write.append(null==record.get("standard_category") ?"无" + tcb:record.get("standard_category") + tcb);
write.append(null==record.get("product_specification") ?"无" + tcb:record.get("product_specification") + tcb);
write.append(null==record.get("shelf_life") ?"无" + tcb:record.get("shelf_life") + tcb);
write.append(null==record.get("ingredient") ?"无" + tcb:record.get("ingredient") + tcb);
write.append(null==record.get("generated_count") ?"无" + tcb:record.get("generated_count") + tcb + tab);
}
                buff.write(write.toString().getBytes("UTF-8"));     
                buff.flush();     
                buff.close();  
} catch (IOException e1) {
e1.printStackTrace();
} finally {     
               try {     
                buff.close();     
                outSTr.close();     
               } catch (Exception e) {     
                e.printStackTrace();     
               }     
            }      
}

}

猜你喜欢

转载自blog.csdn.net/weixin_38373006/article/details/79155281
今日推荐