Spring Boot에서 CSV 출력 11315 단어 자바spring-bootCSV 다운로드 Java + SpringBoot로 검색 결과를 CSV 다운로드 할 수있는 기능을 구현할 수 있었으므로 비망록으로 남겨 둡니다.우선, 이런 식으로 검색 결과가 있었다고 합니다. 이 CSV 버튼을 누르면 모든 검색 결과가 CSV 파일로 다운로드됩니다.1 - 우선 이런 식으로 검색 버튼을 누른 후의 레코드 정보를 hidden의 에 넣어 유지해 둡니다. <form id="csvform" method="post" th:action="@{/asset/csv}" th:object="${csvForm}"> <div th:each="asset:${assets}"> <input type="hidden" name="id" th:value="${asset.id}" /> <input type="hidden" name="categoryId" th:value="${asset.categoryId}" /> <input type="hidden" name="adminName" th:value="${asset.adminName}" /> <input type="hidden" name="assetName" th:value="${asset.assetName}" /> <input type="hidden" name="remarks" th:value="${asset.remarks}" /> </div> <button type="submit">CSV</button> </form> 2 - 에서, CS 버튼을 누르면 이 정보 전부를 포스트 송신해, 컨트롤러측에서 받고 CSV 형식으로 정형해, 다운로드해 줍니다. 이때 CSV records 가 아니라 List<CSV> records 라고 하면 에러가 일어나 버리는 것은 왜인지 모르겠다... 우선 List 를 받으려면 List 를 필드에 더 클래스를 준비 해 두지 않으면 안 되는 것 같다. @PostMapping(value = "/csv", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8; Content-Disposition: attachment") @ResponseBody public Object csvDownload(@ModelAttribute("csvForm") CSV records) throws JsonProcessingException { List<CsvColumn> csvList = new ArrayList<>(); for (int i = 0; i < records.getId().size(); i++) { // レコードの数ぶんだけループ回して csvList.add(new CsvColumn(records.getId().get(i), records.getCategoryId().get(i), records.getAdminName().get(i), records.getAssetName().get(i), records.getRemarks().get(i))); } CsvMapper mapper = new CsvMapper(); CsvSchema schema = mapper.schemaFor(CsvColumn.class).withHeader(); return mapper.writer(schema).writeValueAsString(csvList); } @Data public class CSV { List<Integer> id; List<Integer> categoryId; List<String> adminName; List<String> assetName; List<String> remarks; } @JsonPropertyOrder({"資産ID", "資産種別", "管理者名", "資産名", "備考"}) @Data public class CsvColumn { @JsonProperty("資産ID") private Integer id; @JsonProperty("資産種別") private Integer categoryId; @JsonProperty("管理者名") private String adminName; @JsonProperty("資産名") private String assetName; @JsonProperty("備考") private String remarks; public CsvColumn () {} public CsvColumn (Integer id, Integer categoryId, String adminName, String assetName, String remarks) { this.id = id; this.categoryId = categoryId; this.adminName = adminName; this.assetName = assetName; this.remarks = remarks; } Reference 이 문제에 관하여(Spring Boot에서 CSV 출력), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/memorandum0134/items/c35db1c622555f4f9a1c 텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오. 우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.) CASE 표현식을 사용하여 검색 항목이 비어 있는 경우 조건을 무시합니다. Visual Studio Code (Windows 버전)로 스프링 부팅 설정 좋은 웹페이지 즐겨찾기 개발자 우수 사이트 수집 개발자가 알아야 할 필수 사이트 100선 추천 우리는 당신을 위해 100개의 자주 사용하는 개발자 학습 사이트를 정리했습니다