웹 프론트엔드 HTML 튜토리얼 HTML을 Excel로 전송하는 방법

HTML을 Excel로 전송하는 방법

Feb 21, 2024 pm 10:48 PM
파일 형식 변환 HTML 전송 엑셀 전송

HTML을 Excel로 전송하는 방법

HTML을 Excel로 변환하려면 특정 코드 예제가 필요합니다.

소개:
실제 작업에서는 웹 페이지의 데이터를 Excel 형식으로 내보내야 하는 경우가 있습니다. HTML은 일반적인 웹 마크업 언어인 반면, Excel은 일반적으로 사용되는 스프레드시트 소프트웨어이므로 둘의 형식이 다르기 때문에 변환이 필요합니다. 이 기사에서는 JavaScript 및 타사 라이브러리를 사용하여 HTML을 Excel 파일로 전송하는 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

1. JavaScript를 사용하여 HTML을 Excel로 전송

  1. HTML 테이블 만들기
    먼저 HTML로 테이블을 만들고 테이블에 내보낼 데이터를 넣어야 합니다. 예를 들어 다음은 3개의 행과 3개의 열이 있는 테이블입니다.
<table id="myTable">
  <tr>
    <th>姓名</th>
    <th>年龄</th>
    <th>性别</th>
  </tr>
  <tr>
    <td>张三</td>
    <td>25</td>
    <td>男</td>
  </tr>
  <tr>
    <td>李四</td>
    <td>30</td>
    <td>女</td>
  </tr>
</table>
로그인 후 복사
  1. 내보내기 버튼 및 이벤트 리스너 추가
    버튼을 클릭할 때 내보내기 이벤트를 트리거하는 버튼을 HTML에 추가하세요. 버튼은 다음과 같이 추가할 수 있습니다.
<button onclick="exportToExcel()">导出Excel</button>
로그인 후 복사
로그인 후 복사

다음으로 내보내기 기능을 트리거하기 위해 버튼에 대한 이벤트 리스너를 추가해야 합니다. JavaScript를 사용하여 다음 코드를 작성합니다.

function exportToExcel() {
  // 导出表格逻辑
}
로그인 후 복사
  1. 내보내기 논리 구현 및 Excel 파일 생성
    내보내기 논리를 구현하려면 JavaScript를 사용하여 HTML 테이블의 콘텐츠를 Excel 파일로 변환할 수 있습니다. 내보낸 함수에서 다음 단계를 수행해야 합니다.

(1) 새 Excel 통합 문서 만들기:

var wb = new ExcelJS.Workbook();
var ws = wb.addWorksheet('Sheet 1');
로그인 후 복사

(2) HTML 테이블의 모든 행과 열을 반복하고 Excel 워크시트에 데이터를 채웁니다. 중간 :

var rows = document.getElementById("myTable").rows;
for (var i = 0; i < rows.length; i++) {
  var cells = rows[i].cells;
  for (var j = 0; j < cells.length; j++) {
    ws.getCell(i + 1, j + 1).value = cells[j].innerText;
    // 根据需要设置单元格样式
    ws.getCell(i + 1, j + 1).alignment = { horizontal: 'left' };
  }
}
로그인 후 복사

(3) Excel 파일 저장:

wb.xlsx.writeBuffer().then(function(buffer) {
  saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'data.xlsx');
});
로그인 후 복사

"exportToExcel" 함수에 다음 코드를 추가합니다. 전체 코드는 다음과 같습니다.

function exportToExcel() {
  var wb = new ExcelJS.Workbook();
  var ws = wb.addWorksheet('Sheet 1');

  var rows = document.getElementById("myTable").rows;
  for (var i = 0; i < rows.length; i++) {
    var cells = rows[i].cells;
    for (var j = 0; j < cells.length; j++) {
      ws.getCell(i + 1, j + 1).value = cells[j].innerText;
      ws.getCell(i + 1, j + 1).alignment = { horizontal: 'left' };
    }
  }

  wb.xlsx.writeBuffer().then(function(buffer) {
    saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'data.xlsx');
  });
}
로그인 후 복사

2. 타사 라이브러리를 사용하여 HTML을 Excel로 전송합니다.
JavaScript 네이티브 작업 외에도 타사 라이브러리를 사용하여 "AlaSQL" 라이브러리와 같은 HTML을 Excel로 전송하는 기능을 실현할 수도 있습니다. 다음은 AlaSQL 라이브러리를 사용하기 위한 구체적인 코드입니다.

  1. AlaSQL 라이브러리 및 ExcelJS 라이브러리 소개
    먼저 AlaSQL 라이브러리 및 ExcelJS 라이브러리의 스크립트를 HTML로 소개해야 하며, 이는 다음과 같은 방법으로 소개할 수 있습니다.
<script src="https://cdn.jsdelivr.net/npm/alasql"></script>
<script src="https://cdn.jsdelivr.net/npm/exceljs"></script>
로그인 후 복사
  1. 내보내기 기능 수정
    내보내기 기능에서는 AlaSQL 라이브러리의 "alasql" 메서드를 사용하여 HTML 테이블을 Excel 파일로 변환합니다. 내보낸 함수의 코드를 다음과 같이 수정합니다.
function exportToExcel() {
  var tableData = [];
  var rows = document.getElementById("myTable").rows;
  for (var i = 0; i < rows.length; i++) {
    var rowData = [];
    var cells = rows[i].cells;
    for (var j = 0; j < cells.length; j++) {
      rowData.push(cells[j].innerText);
    }
    tableData.push(rowData);
  }

  var opts = {
    sheetid: 'Sheet 1',
    headers: true,
    skipHeader: true
  };

  var res = alasql('SELECT * INTO XLSX("data.xlsx",?) FROM ?', [opts, [tableData]]);
}
로그인 후 복사
  1. 버튼 및 이벤트 리스너 추가
    마찬가지로 HTML에 버튼 추가 및 이벤트 리스너 추가:
<button onclick="exportToExcel()">导出Excel</button>
로그인 후 복사
로그인 후 복사

전체 HTML 파일 샘플 코드는 다음과 같습니다.



  
    
    HTML转存为Excel
    
    
  
  
    
姓名 年龄 性别
张三 25
李四 30
<button onclick="exportToExcel()">导出Excel</button> <script> function exportToExcel() { var tableData = []; var rows = document.getElementById("myTable").rows; for (var i = 0; i < rows.length; i++) { var rowData = []; var cells = rows[i].cells; for (var j = 0; j < cells.length; j++) { rowData.push(cells[j].innerText); } tableData.push(rowData); } var opts = { sheetid: 'Sheet 1', headers: true, skipHeader: true }; var res = alasql('SELECT * INTO XLSX("data.xlsx",?) FROM ?', [opts, [tableData]]); } </script>
로그인 후 복사

요약 :
이 문서에서는 JavaScript 및 타사 라이브러리를 사용하여 HTML을 Excel 파일로 전송하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 이러한 코드를 통해 웹 페이지의 데이터를 Excel 형식으로 쉽게 전송하여 실제 작업에서 내보내기 요구 사항을 충족할 수 있습니다. 이 기사가 모든 사람에게 도움이 되기를 바랍니다.

위 내용은 HTML을 Excel로 전송하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

& lt; Progress & Gt의 목적은 무엇입니까? 요소? & lt; Progress & Gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:34 PM

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

& lt; datalist & gt의 목적은 무엇입니까? 요소? & lt; datalist & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:33 PM

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? Mar 17, 2025 pm 12:20 PM

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

& lt; meter & gt의 목적은 무엇입니까? 요소? & lt; meter & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:35 PM

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? Mar 17, 2025 pm 12:27 PM

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

뷰포트 메타 태그는 무엇입니까? 반응 형 디자인에 중요한 이유는 무엇입니까? 뷰포트 메타 태그는 무엇입니까? 반응 형 디자인에 중요한 이유는 무엇입니까? Mar 20, 2025 pm 05:56 PM

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

& lt; iframe & gt; 꼬리표? 보안을 사용할 때 보안 고려 사항은 무엇입니까? & lt; iframe & gt; 꼬리표? 보안을 사용할 때 보안 고려 사항은 무엇입니까? Mar 20, 2025 pm 06:05 PM

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Apr 04, 2025 pm 11:54 PM

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

See all articles