jsp 표를 excel로 내보내기
jxl을 다운로드합니다.jar, 공사에 가입합니다.
import java.io.*;
import jxl.*;
import jxl.write.*;
import beans.Student;
import java.util.ArrayList;
public class Excel {
//list , filename excel
public static void ExportExcel(ArrayList list, String filename) {
try {
WritableWorkbook book = Workbook.createWorkbook(new File("filename"));
WritableSheet sheet = book.createSheet("sheet1", 0);
// , ,
Label label1 = new Label(0, 0 , " "); //
Label label2 = new Label(1, 0, " "); //
// sheet1
sheet.addCell(label1);
sheet.addCell(label2);
if (list.size != 0) {
Iterator it = list.iterator();
int i = 1; //
while (it != null && it.next) {
Student stu = (Student) it.next(); //list
Label l1 = new Label(0, i, stu.getSno());
Label l2 = new Label(1, i, stu.getName());
sheet.addCell(l1);
sheet.addCell(l2);
i++;
}
book.write();
book.close();
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
방법 2:poi
포이 관련 패키지 다운로드, 최신 포이 3.8-beta3-20110606.jar, F:poi-3.8-beta3-20110606.jar와 poi-excelant-3.8-beta3-20110606.jar 프로젝트 가입
내보내기 클래스 쓰기: 내보내기.java, 내보낼 정보 목록
public class Export {
//
public void buildStudentExcel(List list, String sheetname, OutputStream out) {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("sheet1");
HSSFRow row = sheet1.createRow((short) 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(" ");
row.createCell(7).setCellValue(" ");
row.createCell(8).setCellValue(" ");
row.createCell(9).setCellValue(" ");
row.createCell(10).setCellValue(" ");
for (int i = 0; i < list.size(); i++) {
Student s = (Student)list.get(i);
row=sheet1.createRow((short)(i+1));
row.createCell(0).setCellValue(s.getKahao());
row.createCell(1).setCellValue(s.getXuehao());
row.createCell(2).setCellValue(s.getXingming());
row.createCell(3).setCellValue(s.getXingbie());
row.createCell(4).setCellValue(s.getXueyuan());
row.createCell(5).setCellValue(s.getZhuanye());
row.createCell(6).setCellValue((s.getPks() == 0) ? " " : " ");
row.createCell(7).setCellValue((s.getXieyishu() == 0) ? " " : " ");
row.createCell(8).setCellValue(s.getRiqi());
row.createCell(9).setCellValue(s.getHuojiang());
row.createCell(10).setCellValue(s.getBeizhu());
}
try {
out.flush();
wb.write(out);
out.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println("Out is closed ");
}
}
그 다음은 데이터를 내보내는 jsp 페이지입니다.<%@ page contentType="application/vnd.ms-excel" language="java"
import="java.util.*,edu.sdau.excelout.Export" pageEncoding="UTF-8" %>
<%@page import="edu.sdau.bean.Student"%>
<%
response.setHeader("Content-Disposition","attachment;filename=exportdata.xls");//
response.setContentType("application/vnd.ms-excel");
Export ex = new Export();
List list = (List)session.getAttribute("exportlist");
ex.buildStudentExcel(list, "exportdata.xls",response.getOutputStream());
out.clear();
out=pageContext.pushBody();
%>
주의: <%> 외에 빈칸을 포함하는 것은 없습니다.만약 <%> 사이에 아무런 빈칸도 남기지 않는다면, 마지막 두 문장은 빨간색입니다. 만약 빈칸이 있다면, 위와 같이 이 두 문장을 추가해야 합니다. 그렇지 않으면 get Output Stream ()has been called by response 이상을 보고합니다.내보낼 데이터를 꺼내서 세션에 넣었습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JSP| EL (Experession Language)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.