Java에서 Excel 셀을 내보내고 병합하는 방법
1. 준비
Excel 내보내기를 구현하기 전에 다음 도구와 환경을 준비해야 합니다.
1.JDK 환경
3.Apache POI 라이브러리
Apache POI는 다음 작업에 사용할 수 있는 Java 라이브러리입니다. Excel, Word, PowerPoint 파일을 포함한 Microsoft Office 형식의 파일을 읽고 쓸 수 있습니다. 프로젝트에 Apache POI 라이브러리를 도입해야 합니다.
3.Excel 템플릿
Excel 템플릿은 테이블의 열 이름, 행 높이, 글꼴, 색상 등을 포함하여 내보내려는 Excel 파일의 스타일과 형식을 나타냅니다. Excel에서 템플릿을 만든 다음 템플릿에 데이터를 채울 수 있습니다. 이렇게 하면 내보낸 Excel 파일의 형식과 스타일이 일관되게 유지됩니다.
2. 구현 단계
1. Excel 파일 만들기
먼저 Java로 Excel 파일을 만들어야 합니다. Apache POI 라이브러리의 Workbook 클래스를 사용하여 Excel 파일을 만들 수 있습니다. Workbook 클래스에는 HSSFWorkbook과 XSSFWorkbook이라는 두 가지 구현 클래스가 있습니다. HSSFWorkbook은 .xls 형식의 Excel 파일을 만드는 데 사용되고, XSSFWorkbook은 .xlsx 형식의 Excel 파일을 만드는 데 사용됩니다. 필요에 따라 적절한 구현 클래스를 선택할 수 있습니다.
Excel 파일을 생성하는 코드는 다음과 같습니다.
// 创建工作簿 Workbook workbook = new HSSFWorkbook(); // 创建工作表 Sheet sheet = workbook.createSheet("Sheet1");
2. 테이블 데이터 채우기
다음으로 테이블에 데이터를 채워야 합니다. Excel 테이블은 Apache POI 라이브러리의 Row 및 Cell 클래스를 사용하여 조작할 수 있습니다. Row는 테이블의 행을 나타내고, Cell은 테이블의 셀을 나타냅니다. 먼저 헤더를 만든 다음 테이블에 데이터를 채울 수 있습니다.
다음은 테이블 데이터를 채우는 코드입니다.
// 创建表头行 Row headerRow = sheet.createRow(0); // 创建表头单元格 Cell headerCell1 = headerRow.createCell(0); headerCell1.setCellValue("姓名"); Cell headerCell2 = headerRow.createCell(1); headerCell2.setCellValue("年龄"); // 填充数据 List<User> userList = getUserList(); for (int i = 0; i < userList.size(); i++) { User user = userList.get(i); Row dataRow = sheet.createRow(i + 1); Cell dataCell1 = dataRow.createCell(0); dataCell1.setCellValue(user.getName()); Cell dataCell2 = dataRow.createCell(1); dataCell2.setCellValue(user.getAge()); }
3. 셀 병합
테이블의 일부 셀을 병합해야 하는 경우 Apache POI 라이브러리의 CellRangeAddress 클래스를 사용하면 됩니다. CellRangeAddress는 시작 행, 끝 행, 시작 열, 끝 열을 포함하는 셀의 병합 영역을 나타냅니다. CellRangeAddress 개체를 만든 다음 이를 테이블의 셀에 적용할 수 있습니다.
다음은 셀 병합 코드입니다.
// 合并单元格 CellRangeAddress region = new CellRangeAddress(0, 0, 0, 1); sheet.addMergedRegion(region);
4. Excel 파일 내보내기
마지막으로 생성된 Excel 파일을 로컬 또는 서버로 내보내야 합니다. Excel 파일은 Java의 FileOutputStream 클래스를 사용하여 디스크로 출력할 수 있습니다.
다음은 Excel 파일을 내보내는 코드입니다.
// 导出Excel文件 File file = new File("user.xls"); FileOutputStream fos = new FileOutputStream(file); workbook.write(fos); fos.close();
3 전체 코드
public static void exportExcel() throws Exception { // 创建工作簿 Workbook workbook = new HSSFWorkbook(); // 创建工作表 Sheet sheet = workbook.createSheet("Sheet1"); // 创建表头行 Row headerRow = sheet.createRow(0); // 创建表头单元格 Cell headerCell1 = headerRow.createCell(0); headerCell1.setCellValue("姓名"); Cell headerCell2 = headerRow.createCell(1); headerCell2.setCellValue("年龄"); // 填充数据 List<User> userList = getUserList(); for (int i = 0; i < userList.size(); i++) { User user = userList.get(i); Row dataRow = sheet.createRow(i + 1); Cell dataCell1 = dataRow.createCell(0); dataCell1.setCellValue(user.getName()); Cell dataCell2 = dataRow.createCell(1); dataCell2.setCellValue(user.getAge()); } // 合并单元格 CellRangeAddress region = new CellRangeAddress(0, 0, 0, 1); sheet.addMergedRegion(region); // 导出Excel文件 File file = new File("user.xls"); FileOutputStream fos = new FileOutputStream(file); workbook.write(fos); fos.close(); } public static List<User> getUserList() { List<User> userList = new ArrayList<>(); userList.add(new User("张三", 20)); userList.add(new User("李四", 25)); userList.add(new User("王五", 30)); return userList; } public static class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
위 내용은 Java에서 Excel 셀을 내보내고 병합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 난수 생성기 안내. 여기서는 예제를 통해 Java의 함수와 예제를 통해 두 가지 다른 생성기에 대해 설명합니다.

Java의 Weka 가이드. 여기에서는 소개, weka java 사용 방법, 플랫폼 유형 및 장점을 예제와 함께 설명합니다.

자바의 암스트롱 번호 안내 여기에서는 일부 코드와 함께 Java의 Armstrong 번호에 대한 소개를 논의합니다.

Java의 Smith Number 가이드. 여기서는 정의, Java에서 스미스 번호를 확인하는 방법에 대해 논의합니다. 코드 구현의 예.

이 기사에서는 가장 많이 묻는 Java Spring 면접 질문과 자세한 답변을 보관했습니다. 그래야 면접에 합격할 수 있습니다.

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다
