자바 엑셀 내 보 내기 일반적인 방법의 인 스 턴 스 상세 설명
자바 에서 엑셀 을 내 보 내 는 일반적인 방법 은 list 집합 만 필요 합 니 다.통용 방법의 개선 점 을 앞 다 투어 제기 하 다.
package oa.common.utils;
import java.io.OutputStream;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import java.lang.reflect.Field;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/***
* @author lsf
*/
public class ExportExcel {
/***************************************************************************
* @param fileName EXCEL
* @param listTitle EXCEL
* @param listContent EXCEL
* @return
*/
public final static String exportExcel(String fileName,String[] Title, List<Object> listContent) {
String result=" :Excel !";
// EXCEL
try {
// , ______________________begin
HttpServletResponse response=ServletActionContext.getResponse();
OutputStream os = response.getOutputStream();//
response.reset();//
response.setHeader("Content-disposition", "attachment; filename="+ new String(fileName.getBytes("GB2312"),"ISO8859-1"));
//
response.setContentType("application/msexcel");//
// , _______________________end
/** ********** ************ */
WritableWorkbook workbook = Workbook.createWorkbook(os);
/** ********** ************ */
WritableSheet sheet = workbook.createSheet("Sheet1", 0);
/** ********** ( )、 ***************** */
jxl.SheetSettings sheetset = sheet.getSettings();
sheetset.setProtected(false);
/** ************ ************** */
WritableFont NormalFont = new WritableFont(WritableFont.ARIAL, 10);
WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 10,WritableFont.BOLD);
/** ************ , ************ */
//
WritableCellFormat wcf_center = new WritableCellFormat(BoldFont);
wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN); //
wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); //
wcf_center.setAlignment(Alignment.CENTRE); //
wcf_center.setWrap(false); //
//
WritableCellFormat wcf_left = new WritableCellFormat(NormalFont);
wcf_left.setBorder(Border.NONE, BorderLineStyle.THIN); //
wcf_left.setVerticalAlignment(VerticalAlignment.CENTRE); //
wcf_left.setAlignment(Alignment.LEFT); //
wcf_left.setWrap(false); //
/** *************** EXCEL , ********************* */
//sheet.mergeCells(0, 0, colWidth, 0);
//sheet.addCell(new Label(0, 0, "XX ", wcf_center));
/** *************** EXCEL ********************* */
for (int i = 0; i < Title.length; i++) {
sheet.addCell(new Label(i, 0,Title[i],wcf_center));
}
/** *************** EXCEL ********************* */
Field[] fields=null;
int i=1;
for(Object obj:listContent){
fields=obj.getClass().getDeclaredFields();
int j=0;
for(Field v:fields){
v.setAccessible(true);
Object va=v.get(obj);
if(va==null){
va="";
}
sheet.addCell(new Label(j, i,va.toString(),wcf_left));
j++;
}
i++;
}
/** ********** EXCEL ******** */
workbook.write();
/** ********* ************* */
workbook.close();
} catch (Exception e) {
result=" :Excel , :"+ e.toString();
System.out.println(result);
e.printStackTrace();
}
return result;
}
}
테스트:
/**
* excel
* @return
*/
public String excelPage(){
ExportExcel excel=new ExportExcel();
String str="";
try {
str = new String(getHTTP.getRequest().getParameter("wineOrg.orgName").getBytes("iso8859-1"),"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
wineOrg.setOrgName(str);
List<Object> li=service.exportExcel(wineOrg);
String[] Title={" ID"," "," "," "," ID"," "," ID"," "," "," "," "," "," "," "," ","QQ"," "," "," "," "," "," "," "," "," ID"," ","create_time","del","STS"," "," ID"," "," "," ID "," "," "," ID"," "," "," ID"," "," "};
excel.exportExcel(" .xls",Title, li);
return SUCCESS;
}
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.