* @param filePath=엑셀파일을 생성시킬 위치
* @param excelName=생설할 엑셀파일의 이름
* @param headerList=엑셀파일의 헤더맵
* @param list=데이터를 담을 맵
* @param data=엑셀파일을 생성할 데이터를 담은 리스트
* 꼭 맵을통하여 세팅을 하지 않아도 상관없습니다.
*/
String filePath = "파일을 생성시킬 위치";
String excelName = "생성할 엑셀의 이름";
Map<String,String> headerList = new HashMap<String,String>();
Map<String,String> list = new HashMap<String,String>();
List<dataType> data = "생성할 리스트를 담습니다.";
headerList.put("0", "이름");
headerList.put("1", "이름");
.
.
.
.
XSSFWorbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("sheet의 이름");
XSSFRow row = null;
XSSFCell cell = null;
for(int i=0; i<=data.size(); i++) {
row=sheet.createRow((short)i);
for(int k=0; k<headerList.size(); k++) {
cell=row.createCell(k);
if(i==0) {
CellStyle style = workbook.createCellStyle();
style.setFillForegroundColor("셀color 세팅");
style.setFillPattern("셀의 패턴을 세팅");
style.setAlignment("셀데이터의 정렬조건 세팅");
cell.setCellStyle(style);
sheet.setColumnWidth(index,"셀의 너비");
cell.setCellValue(headerList.get(Integer.toString(k)));
}
else {
<dataType> excelData = data.get(i-1);
list.put("0","넣을데이터");
list.put("1","넣을데이터");
.
.
.
cell.setCellValue(list.get(Integer.toString(k)));
}
}
}
try {
File file = new File(filePath);
file.mkdirs();
FileOutputStream fileOutputStream =
new FileOutputStream(file+File.separator+excelName);
workbook.write(fileOutputStream);
fileOutputStream.close();
} catch(Exception e) {
e.printStackTrace();
}