Java: Excel 문서 생성, 읽기 또는 업데이트

2023-12-06 03:10:11

메이븐으로 설치

<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.xls</artifactId>
    <version>14.1.3</version></dependency>
    

관련된 링크들

Excel 스프레드시트는 사용자가 테이블의 데이터를 정렬, 분석 및 표시할 수 있는 널리 사용되는 파일 형식입니다. Excel 파일과 프로그래밍 방식으로 상호 작용하는 기능은 해당 기능을 소프트웨어에 자동화하고 통합하는 데 유용합니다. 이는 광범위한 데이터 세트, 복잡한 계산을 처리하거나 데이터를 동적으로 생성/업데이트할 때 특히 유용합니다. 이 기사에서는 다음 방법을 배웁니다 Java로 Excel 문서 생성, 읽기 또는 업데이트 Spire.XLS for Java사용합니다.

Spire.XLS for Java 설치

먼저 Spire.Xls.jar 파일을 Java 프로그램의 종속성으로 추가해야 합니다. JAR 파일은 이 링크에서 다운로드할 수 있습니다. Maven을 사용하는 경우 프로젝트의 pom.xml 파일에 다음 코드를 추가하여 애플리케이션에서 JAR 파일을 쉽게 가져올 수 있습니다.

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>14.11.0</version>
    </dependency>
</dependencies>
    

Java로 Excel 문서 만들기

Spire.XLS for Java는 Excel 문서를 생성하고 편집하는 데 사용할 수 있는 다양한 클래스와 인터페이스를 제공합니다. 다음은 이 기사와 관련된 중요한 클래스, 속성 및 메서드 목록입니다.

회원 설명
워크북 수업 Excel 통합 문서 모델을 나타냅니다.
Workbook.getWorksheets().add() 메서드 통합 문서에 워크시트를 추가합니다.
Workbook.saveToFile() 메서드 통합 문서를 Excel 문서에 저장합니다.
워크시트 수업 통합 문서의 워크시트를 나타냅니다.
Worksheet.getRange() 메서드 워크시트에서 특정 셀이나 셀 범위를 가져옵니다.
Worksheet.insertArray() 메서드 배열의 데이터를 워크시트로 가져옵니다.
CellRange 클래스 워크시트의 셀 또는 셀 범위를 나타냅니다.
CellRange.setValue() 메서드 셀의 값을 설정합니다.
CellRange.getValue() 메서드 셀의 값을 가져옵니다.

다음은 Spire.XLS for Java 사용하여 처음부터 Excel 문서를 만드는 단계입니다.

  • 통합 문서 개체를 만듭니다.
  • Workbook.getWorksheets().add() 메서드를 사용하여 워크시트를 추가합니다.
  • Worksheet.getRange.setValue() 메서드를 사용하여 특정 셀에 데이터를 씁니다.
  • Worksheet.insertArray() 메서드를 사용하여 배열의 데이터를 워크시트로 가져옵니다.
  • Workbook.saveToFile() 메서드를 사용하여 통합 문서를 Excel 문서에 저장합니다.
  • Java
import com.spire.xls.*;
    
    public class CreateSpreadsheet {
    
        public static void main(String[] args) {
    
            //Create a Workbook object
            Workbook wb = new Workbook();
    
            //Remove default worksheets
            wb.getWorksheets().clear();
    
            //Add a worksheet and name it "Employee"
            Worksheet sheet = wb.getWorksheets().add("Employee");
    
            //Merge the cells between A1 and G1
            sheet.getRange().get("A1:G1").merge();
    
            //Write data to A1 and apply formatting to it
            sheet.getRange().get("A1").setValue("Basic Information of Employees of Huanyu Automobile Company");
            sheet.getRange().get("A1").setHorizontalAlignment(HorizontalAlignType.Center);
            sheet.getRange().get("A1").setVerticalAlignment(VerticalAlignType.Center);
            sheet.getRange().get("A1").getStyle().getFont().isBold(true);
            sheet.getRange().get("A1").getStyle().getFont().setSize(13);
    
            //Set row height of the first row
            sheet.setRowHeight(1,30);
    
            //Create a two-dimensional array
            String[][] twoDimensionalArray = new String[][]{
                    {"Name", "Gender", "Birth Date", "Educational Background", "Contact Number", "Position", "ID"},
                    {"Allen", "Male", "1990-02-10", "Bachelor", "24756854", "Mechanic", "0021"},
                    {"Patrick", "Male", "1985-06-08", "Master", "59863247", "Mechanic", "0022"},
                    {"Jenna", "Female", "1989-11-25", "Bachelor", "79540352", "Sales", "0023"},
                    {"Tommy", "Male", "1988-04-16", "Master", "52014060", "Mechanic", "0024"},
                    {"Christina", "Female", "1998-01-21", "Bachelor", "35401489", "HR", "0025"}
            };
    
            //Import data from DataTable to worksheet
            sheet.insertArray(twoDimensionalArray,2,1);
    
            //Set row height of a range
            sheet.getRange().get("A2:G7").setRowHeight(15);
    
            //Set column width
            sheet.setColumnWidth(2,15);
            sheet.setColumnWidth(3,21);
            sheet.setColumnWidth(4,15);
    
            //Set border style of a range
            sheet.getRange().get("A2:G7").borderAround(LineStyleType.Medium);
            sheet.getRange().get("A2:G7").borderInside(LineStyleType.Thin);
            sheet.getRange().get("A2:G2").borderAround(LineStyleType.Medium);
            sheet.getRange().get("A2:G7").getBorders().setKnownColor(ExcelColors.Black);
    
            //Save to a .xlsx file
            wb.saveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016);
        }
    }

Java: Create, Read, or Update Excel Documents

Java에서 워크시트 데이터 읽기

CellRange.getValue() 메서드는 셀의 숫자 값이나 텍스트 값을 문자열로 반환합니다. 전체 워크시트나 셀 범위의 데이터를 얻으려면 그 안의 셀을 반복하세요. 다음은 Spire.XLS for Java를 사용하여 워크시트의 데이터를 가져오는 단계입니다.

  • 통합 문서 개체를 만듭니다.
  • Workbook.loadFromFile() 메서드를 사용하여 Excel 문서를 로드합니다.
  • Workbook.getWorksheets().get(index) 메서드를 사용하여 특정 워크시트를 가져옵니다.
  • Worksheet.getAllocationRange() 메서드를 사용하여 데이터가 포함된 셀 범위를 가져옵니다.
  • 행과 열을 반복하여 범위 내의 셀을 가져오고 CellRange.getValue() 메서드를 사용하여 각 셀의 값을 반환합니다.
  • Java
import com.spire.xls.CellRange;
    import com.spire.xls.Workbook;
    import com.spire.xls.Worksheet;
    
    public class ReadData {
    
        public static void main(String[] args) {
    
            //Create a Workbook object
            Workbook wb = new Workbook();
    
            //Load an existing Excel file
            wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx");
    
            //Get the first worksheet
            Worksheet sheet = wb.getWorksheets().get(0);
    
            //Get the cell range containing data
            CellRange locatedRange = sheet.getAllocatedRange();
    
            //Iterate through the rows
            for (int i = 0; i < locatedRange.getRows().length; i++) {
    
                //Iterate through the columns
                for (int j = 0; j < locatedRange.getColumnCount(); j++) {
    
                    //Get data of a specific cell
                    System.out.print(locatedRange.get(i + 1, j + 1).getValue() + "  ");
                }
                System.out.println();
            }
        }
    }

Java: Create, Read, or Update Excel Documents

Java에서 Excel 문서 업데이트

특정 셀의 값을 변경하려면 Worksheet.getRange().setValue() 메서드를 사용하여 해당 셀에 값을 다시 할당하면 됩니다. 자세한 단계는 다음과 같습니다.

  • 통합 문서 개체를 만듭니다.
  • Workbook.LoadFromFile() 메서드를 사용하여 Excel 문서를 로드합니다.
  • Workbook.Worksheets[index] 속성을 통해 특정 워크시트를 가져옵니다.
  • Worksheet.Range.Value 속성을 통해 특정 셀의 값을 변경합니다.
  • Workbook.SaveToFile() 메서드를 사용하여 통합 문서를 Excel 파일에 저장합니다.
  • Java
import com.spire.xls.ExcelVersion;
    import com.spire.xls.Workbook;
    import com.spire.xls.Worksheet;
    
    public class UpdateExcel {
    
        public static void main(String[] args) {
    
            //Create a Workbook object
            Workbook wb = new Workbook();
    
            //Load an existing Excel file
            wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx");
    
            //Get the first worksheet
            Worksheet sheet = wb.getWorksheets().get(0);
    
            //Change the value of a specific cell
            sheet.getRange().get("A1").setValue("Updated Value");
    
            //Save to file
            wb.saveToFile("output/Updated.xlsx", ExcelVersion.Version2016);
        }
    }

Java: Create, Read, or Update Excel Documents

임시 라이센스 신청

생성된 문서에서 평가 메시지를 제거하고 싶거나, 기능 제한을 없애고 싶다면 30일 평가판 라이센스 요청 자신을 위해.

또한보십시오