>웹 프론트엔드 >프런트엔드 Q&A >자바스크립트를 사용하여 웹 테이블을 Excel로 변환하는 방법

자바스크립트를 사용하여 웹 테이블을 Excel로 변환하는 방법

PHPz
PHPz원래의
2023-04-24 15:49:561347검색

비즈니스 관리 및 데이터 분석에 스프레드시트가 널리 사용됨에 따라 웹 테이블을 Excel 형식으로 변환하려는 요구도 증가하고 있습니다. JavaScript의 강력한 기능과 크로스 플랫폼 특성으로 인해 이 기능을 구현하는 것이 최선의 선택입니다. JavaScript를 사용하여 웹 테이블을 Excel로 변환하는 방법은 다음과 같습니다.

1.JavaScript 라이브러리 소개

먼저 필요한 JavaScript 라이브러리인 SheetJS와 FileSaver를 소개해야 합니다. SheetJS는 Excel, CSV 및 기타 스프레드시트 형식을 읽고 쓸 수 있는 강력한 스프레드시트 처리 라이브러리입니다. FileSaver 라이브러리는 브라우저에서 생성된 HTML 또는 바이너리 데이터를 저장하는 간단한 방법을 제공합니다. 이 두 라이브러리를 소개하려면 HTML 파일에 다음 코드를 추가하세요.

<script src="https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js"></script>

2. 테이블 HTML 코드 만들기

다음으로 데이터를 표시하기 위해 HTML 페이지에 테이블을 만들어야 합니다. 여기서는 헤더와 데이터가 포함된 간단한 테이블을 만듭니다.

<table id="table">
  <thead>
    <tr>
      <th>姓名</th>
      <th>年龄</th>
      <th>性别</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>张三</td>
      <td>30</td>
      <td>男</td>
    </tr>
    <tr>
      <td>李四</td>
      <td>25</td>
      <td>女</td>
    </tr>
    <tr>
      <td>王五</td>
      <td>40</td>
      <td>男</td>
    </tr>
  </tbody>
</table>

3. JavaScript 코드 작성

이제 표를 Excel로 변환하는 기능을 구현하는 JavaScript 코드 작성을 시작합니다.

먼저 테이블을 가져와야 합니다. document.getElementById() 메서드를 사용하여 ID가 ​​"table"인 테이블 요소를 가져옵니다.

const table = document.getElementById('table');

그런 다음 table.rows를 통해 테이블의 행과 열 수를 가져오고 빈 배열을 만들어 테이블 데이터를 저장합니다.

const rowLength = table.rows.length;
const colLength = table.rows[0].cells.length;
const data = [];

그런 다음 테이블의 모든 행과 열을 순회하고 셀 텍스트 데이터를 데이터 배열에 저장해야 합니다. 이는 이중 루프를 사용하여 달성됩니다.

for (let i = 0; i < rowLength; i++) {
  const rowData = [];
  for (let j = 0; j < colLength; j++) {
    rowData.push(table.rows[i].cells[j].textContent);
  }
  data.push(rowData);
}

마지막으로 SheetJS 라이브러리를 사용하여 데이터를 Excel 형식의 바이너리 데이터로 변환하고 FileSaver 라이브러리를 사용하여 로컬에 저장합니다. 이는 SheetJS의 XLSX.writeFile() 메서드를 사용하여 구현됩니다.

const wb = XLSX.utils.book_new();
const ws = XLSX.utils.aoa_to_sheet(data);
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
XLSX.writeFile(wb, 'table.xlsx');

전체 JavaScript 코드는 다음과 같습니다.

const table = document.getElementById('table');
const rowLength = table.rows.length;
const colLength = table.rows[0].cells.length;
const data = [];

for (let i = 0; i < rowLength; i++) {
  const rowData = [];
  for (let j = 0; j < colLength; j++) {
    rowData.push(table.rows[i].cells[j].textContent);
  }
  data.push(rowData);
}

const wb = XLSX.utils.book_new();
const ws = XLSX.utils.aoa_to_sheet(data);
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
XLSX.writeFile(wb, 'table.xlsx');

4. 변환 결과 테스트

위 단계를 완료한 후 브라우저에서 HTML 파일을 열고 버튼을 클릭하면 "table.xlsx"라는 Excel 파일이 생성됩니다. 자동으로 다운로드됩니다.

위 단계를 통해 웹 테이블을 엑셀 형식으로 성공적으로 변환했습니다. 이 방법은 JavaScript를 기반으로 하며 구현이 간단하고 효율성이 높으며 크로스 플랫폼이 가능합니다. 이는 의심할 여지 없이 비즈니스 관리자와 데이터 분석가에게 적합한 도구입니다.

위 내용은 자바스크립트를 사용하여 웹 테이블을 Excel로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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