
Java - Excel 셀 값을 텍스트에서 숫자로 또는 숫자에서 텍스트로 변환
Excel 파일을 처리할 때 일부 셀 값이 숫자처럼 보이지만 실제로는 텍스트로 저장되어 있음을 알 수 있습니다. SUM 및 Average와 같은 Excel 함수에서 이러한 셀을 사용하면 이러한 함수가 텍스트 값을 포함하는 셀을 무시하기 때문에 잘못된 계산 결과를 얻게 됩니다. 이 경우 텍스트로 저장된 숫자를 다시 일반 숫자로 변환해야 합니다. 이 기사에서는 Free Spire.XLS for Java API를 사용하여 Java에서 Excel 셀 값을 텍스트에서 숫자로 또는 숫자에서 텍스트로 변환하는 방법을 설명합니다.
방법 1: maven을 사용하는 경우 프로젝트의 pom.xml 파일에 다음 코드를 추가하여 Java API용 Free Spire.XLS의 JAR 파일을 쉽게 가져올 수 있습니다.
방법 2: maven을 사용하지 않는 경우 official website 에서 Java용 Free Spire.XLS를 다운로드하고 zip 파일을 추출한 다음 lib 폴더 아래의 Spire.Xls.jar 파일을 프로젝트에 종속성으로 가져올 수 있습니다.
Java용 무료 Spire.XLS는 CellRange 클래스의 convertToNumber() 메서드를 제공하여 텍스트 형식의 숫자 값을 다시 숫자로 변환합니다. 다음은 이를 위한 세부 단계입니다.
통합 문서 클래스의 인스턴스를 초기화합니다. Workbook.loadFromFile() 메서드를 사용하여 Excel 파일을 로드합니다. Workbook.getWorksheets().get(int) 메서드를 사용하여 원하는 워크시트를 가져옵니다. Worksheet.getCellRange(int, int, int, int) 메서드를 사용하여 텍스트로 저장된 숫자가 포함된 특정 셀 범위에 액세스합니다. CellRange.convertToNumber() 메서드를 호출하여 텍스트로 저장된 숫자를 다시 숫자로 변환합니다. Workbook.saveToFile(String, ExcelVersion) 메소드를 사용하여 결과 파일을 저장하십시오.

CellRange 클래스의 setNumberFormat() 메서드를 사용하여 Excel 셀의 숫자 형식을 텍스트, 소수, 날짜 등으로 지정할 수 있습니다. 다음 단계에서는 Excel 셀의 숫자 서식을 텍스트로 지정하는 방법을 보여줍니다.
통합 문서 클래스의 인스턴스를 초기화합니다. Workbook.loadFromFile() 메서드를 사용하여 Excel 파일을 로드합니다. Workbook.getWorksheets().get(int) 메서드를 사용하여 원하는 워크시트를 가져옵니다. Worksheet.getCellRange(int, int, int, int) 메서드를 사용하여 숫자가 포함된 특정 셀 범위에 액세스합니다. CellRange.setNumberFormat(String) 메서드를 호출하여 숫자를 텍스트로 변환합니다. Workbook.saveToFile() 메소드를 사용하여 결과 파일을 저장하십시오.
종속성 추가
방법 1: maven을 사용하는 경우 프로젝트의 pom.xml 파일에 다음 코드를 추가하여 Java API용 Free Spire.XLS의 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.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
방법 2: maven을 사용하지 않는 경우 official website 에서 Java용 Free Spire.XLS를 다운로드하고 zip 파일을 추출한 다음 lib 폴더 아래의 Spire.Xls.jar 파일을 프로젝트에 종속성으로 가져올 수 있습니다.
Java에서 Excel 셀 값을 텍스트에서 숫자로 변환
Java용 무료 Spire.XLS는 CellRange 클래스의 convertToNumber() 메서드를 제공하여 텍스트 형식의 숫자 값을 다시 숫자로 변환합니다. 다음은 이를 위한 세부 단계입니다.
import com.spire.xls.CellRange;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ConvertTextToNumber {
public static void main(String []args){
//Create a Workbook instance
Workbook workbook = new Workbook();
//Load an Excel file
workbook.loadFromFile("Sample1.xlsx");
//Get the first worksheet
Worksheet sheet = workbook.getWorksheets().get(0);
//Get the specific cell range that contains numbers stored as text
CellRange range = sheet.getCellRange(1, 1, sheet.getLastRow(), sheet.getLastColumn());
//Convert numbers stored as text back to number
range.convertToNumber();
//Save the result file
workbook.saveToFile("ConvertTextToNumber.xlsx", ExcelVersion.Version2016);
}
}

Java에서 Excel 셀 값을 숫자에서 텍스트로 변환
CellRange 클래스의 setNumberFormat() 메서드를 사용하여 Excel 셀의 숫자 형식을 텍스트, 소수, 날짜 등으로 지정할 수 있습니다. 다음 단계에서는 Excel 셀의 숫자 서식을 텍스트로 지정하는 방법을 보여줍니다.
import com.spire.xls.CellRange;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ConvertNumberToText {
public static void main(String []args){
//Create a Workbook instance
Workbook workbook = new Workbook();
//Load an Excel file
workbook.loadFromFile("Sample2.xlsx");
//Get the first worksheet
Worksheet sheet = workbook.getWorksheets().get(0);
//Get the specific cell range that contains numbers
CellRange range = sheet.getCellRange(1, 1, sheet.getLastRow(), sheet.getLastColumn());
//Convert numbers to text
range.setNumberFormat("@");
//Save the result file
workbook.saveToFile("ConvertNumberToText.xlsx", ExcelVersion.Version2016);
}
}
