본문 바로가기

IT/java

[java] opencsv 예제

// maven 추가

<dependency>

    <groupId>com.opencsv</groupId>

    <artifactId>opencsv</artifactId>

    <version>3.9</version>

</dependency>



@RequestMapping("/downCsv")

public void downCsv(@ModelAttribute("param") AppVo param, HttpServletResponse response) throws Exception {


String fileName = "my.csv";

if(null != rtnVo){

List<String[]> csvDatas = new ArrayList<String[]>();

csvDatas.add(new String[] { "1"+ "aa" });

csvDatas.add(new String[] { "2"+ "b" });

       

       // 다운로드

       response.setContentType("text/csv;charset=UTF-8");

       response.setHeader("Content-Disposition", "attachment; filename=\""+fileName +"\"");

   

       OutputStream outputStream = response.getOutputStream();

try {

                OutputStream buffOs = new BufferedOutputStream(outputStream); 

                OutputStreamWriter osWriter = new OutputStreamWriter(buffOs);


           @SuppressWarnings("resource")

CSVWriter csvWriter = new CSVWriter(osWriter,',');

                csvWriter.writeAll(csvDatas, false);

                osWriter.flush(); 

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

} finally {

outputStream.flush();

outputStream.close();

       }

}

}



// jsp

function downFile(atchFileId){

$('#key').val(atchFileId);

$('#paramForm').attr('action', '<c:url value="/downCsv.do"/>');

$('#paramForm').submit();

}

<form:form commandName="param" id="paramForm" method="post">

<form:hidden path="access_key" id="access_key" value="" />

</form:form>


<a href="javascript:;" class="btn_gray_30" onClick="downFile('{{key}}')"  style="cursor: pointer;">Down</a>


'IT > java' 카테고리의 다른 글

[java] datetime형태의 String을 패턴 검사  (0) 2017.05.17
[java] httpClient 샘플  (0) 2016.11.22
[java] ip 범위에 해당하는지 확인  (0) 2016.11.15
[java] split 예제  (0) 2016.09.27
[java] ToStringBuilder  (0) 2016.07.06