Java POI Excel 표 내 보 내기 및 다운로드
5425 단어 Java
프론트 jsp 페이지 는 ajax 로 전송 되 었 습 니 다.
4. 567913. 그리고 controller 에서 자바 코드.
//导出数据--表格
function exportLabType(){
//选择要导出的数据
var array = new Array();
var names = document.getElementsByName("one");
for(var i=0;i";
//店铺名称
var shopperName = smallBoxs.eq(i).parent().siblings().eq(1).text().trim();
shopperName = encodeURIComponent(shopperName);
if(shopperName == ""){
shopperName="-";
}
paramStr += shopperName+">";
//开店时间
var applytime = smallBoxs.eq(i).parent().siblings().eq(2).text().trim();
if(applytime == ""){
applytime="-";
}
paramStr += applytime+">";
//到期时间
var endTime = smallBoxs.eq(i).parent().siblings().eq(3).text().trim();
if(endTime == ""){
endTime="-";
}
paramStr += endTime+">";
//运营状态
var status = smallBoxs.eq(i).parent().siblings().eq(4).text().trim();
status = encodeURIComponent(status);
if(status == ""){
status="-";
}
paramStr += status+">";
//账户余额
var settleBalance = smallBoxs.eq(i).parent().siblings().eq(5).text().trim();
if(settleBalance == ""){
settleBalance="-";
}
paramStr += settleBalance+">";
//详细地址
var shopperAddress = smallBoxs.eq(i).parent().siblings().eq(6).text().trim();
shopperAddress = encodeURIComponent(shopperAddress);
if(shopperAddress == ""){
shopperAddress="-";
}
paramStr += shopperAddress+"!";
}
$.ajax({
url:"exportSupplierExcel.action",
type:"post",
//dataType: "json",
async:false,
cache: !0,
data:{"paramStr":paramStr},
success: function() {
window.location.href="excelRead.jsp";
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("导出表格失败,请稍后再试!");
//alert(XMLHttpRequest.status,XMLHttpRequest.readyState,textStatus);
}
});
}
여기까지 데 이 터 를 엑셀 시트 로 내 보 내 는 것 (Excel 은 tomcat 에 임시로 저 장 된 docs 폴 더) 을 실현 한 다음 Excel 을 다운로드 합 니 다.다운 로드 는 form 에 제출 해 야 합 니 다.
@RequestMapping("exportSupplierExcel")
public void exportSupplierExcel(HttpServletRequest request,HttpServletResponse response) throws IOException {
try{
String docsPath = request.getSession().getServletContext().getRealPath("docs");
String fileName = System.currentTimeMillis() + ".xls";
String filePath = docsPath + FILE_SEPARATOR + fileName;
ExportExcel ex = new ExportExcel();
String[] headers = { "会员账号","店铺名称","开店时间","到期时间","运营状态","账户余额","详细地址"};
List dataset = new ArrayList();
try {
SupplierExcel po = null;
String paramStr = request.getParameter("paramStr");
if(StringUtil.isNotEmpty(paramStr)){
String[] arr1 = paramStr.split("!");
for(int i=0;i");
String tele = temp[0];
po.setTele(tele);
String shopperName = temp[1];
shopperName = java.net.URLDecoder.decode(shopperName,"utf-8");
po.setShopperName(shopperName);
String applytime = temp[2];
po.setApplytime(applytime);
String endTime = temp[3];
po.setEndTime(endTime);
String status = temp[4];
status = java.net.URLDecoder.decode(status,"utf-8");
po.setStatus(status);
String settleBalance = temp[5];
po.setSettleBalance(settleBalance);
String shopperAddress = temp[6];
shopperAddress = java.net.URLDecoder.decode(shopperAddress,"utf-8");
po.setShopperAddress(shopperAddress);
dataset.add(po);
}
OutputStream out = new FileOutputStream(filePath);
ex.exportExcel2(headers, dataset, out);
out.close();
System.out.println("excel导出成功!");
//把导出的Excel临时存放的路径放到session里,方便下载
HttpSession session = request.getSession();
session.setAttribute("filePath", filePath);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}catch(Exception e){
e.printStackTrace();
}
}
이로써 엑셀 표 내 보 내기 가 완료 되 었 습 니 다. 다음은 호출 할 도구 클래스 입 니 다.
@RequestMapping("getFile")
public void getFile(HttpServletRequest request,HttpServletResponse response) throws IOException{
HttpSession session = request.getSession();
String filePath = session.getAttribute("filePath").toString();
ExportExcel.download(filePath, response);
}
참고 블 로그:http://blog.csdn.net/evangel_z/article/details/7332535
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.