>  기사  >  웹 프론트엔드  >  JavaScript를 사용하여 XLS 파일을 어떻게 구문 분석하고 해당 데이터를 JSON 형식으로 변환합니까?

JavaScript를 사용하여 XLS 파일을 어떻게 구문 분석하고 해당 데이터를 JSON 형식으로 변환합니까?

DDD
DDD원래의
2024-10-30 12:19:02663검색

How do you parse XLS files and convert their data to JSON format using JavaScript?

JavaScript/HTML5에서 Excel 파일 구문 분석

웹 애플리케이션에서 Excel 파일로 작업할 때 데이터 구문 분석 방법을 이해하는 것이 중요합니다. 의미있는 방식으로. 이 문서에서는 JavaScript에서 XLS 파일을 읽고 해당 행 기반 데이터를 JSON 형식으로 변환하는 방법을 살펴봅니다.

XLS 파일 행 단위 읽기

XLS 파일을 읽으려면 행별로 HTML5에서 제공하는 FileReader 인터페이스를 사용할 수 있습니다. FileReader를 사용하면 로컬 파일의 내용에 액세스하여 읽고 구문 분석할 수 있습니다.

XLS를 JSON으로 변환

파일 데이터가 있으면 JSON 형식으로 변환해야 합니다. 이는 Excel 시트를 행 개체 배열로 변환하는 XLSX.utils.sheet_to_row_object_array()라는 메서드를 제공하는 XLSX 라이브러리를 사용하여 수행할 수 있습니다. 그런 다음 JSON.stringify()를 사용하여 이러한 행 개체를 JSON으로 쉽게 변환할 수 있습니다.

예제 코드

다음은 XLS 파일을 구문 분석하는 방법을 보여주는 예제 코드 조각입니다. FileReader 및 XLSX 라이브러리를 사용하여 JSON으로 변환합니다.

<code class="javascript">var ExcelToJSON = function() {

  this.parseExcel = function(file) {
    // Instantiate FileReader.
    var reader = new FileReader();

    reader.onload = function(e) {
      // Retrieve the Excel file data.
      var data = e.target.result;

      // Create a workbook object from the data.
      var workbook = XLSX.read(data, { type: 'binary' });

      workbook.SheetNames.forEach(function(sheetName) {
        // Convert a sheet to an array of row objects.
        var XL_row_object = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);

        // Convert the row objects to JSON.
        var json_object = JSON.stringify(XL_row_object);

        // Log the JSON object to the console.
        console.log(json_object);
      });
    };

    reader.onerror = function(ex) {
      console.log(ex);
    };

    reader.readAsBinaryString(file);
  };
};</code>

추가 리소스

JavaScript에서 XLS를 구문 분석하는 방법에 대한 자세한 내용은 다음을 참조하세요. 리소스:

  • [XLSX 라이브러리 문서](https://github.com/SheetJS/js-xlsx)

문제가 발생하거나 추가 질문이 있는 경우, 이 페이지에 자유롭게 댓글을 남겨주세요.

위 내용은 JavaScript를 사용하여 XLS 파일을 어떻게 구문 분석하고 해당 데이터를 JSON 형식으로 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.