Excel 파일에서 JavaScript 개체를 만드는 방법
8317 단어 nodenpmjavascript
이것이 유용할 수 있는 많은 이유가 있습니다. 예를 들어 교사가 학생의 성적을 Excel 파일에 저장하고 자동으로 JS 앱으로 가져오고 싶다고 가정합니다. 다음과 같은 스프레드시트가 있을 수 있습니다.
시작하려면 이 명령을 터미널에 입력하십시오(Node도 설치해야 합니다. 저는 VS 코드를 사용하고 있습니다).
npm install read-excel-file
이제 JS 파일에서 이 require 문을 맨 위에 추가하기만 하면 됩니다.
const xlsxFile = require('read-excel-file/node');
그리고 이것이 전체 설정입니다!
xlsxFile
함수는 Excel 파일의 경로를 문자열로 나타내는 단일 인수를 사용합니다. 파일 경로는 xlsxFile
가 "필수"인 JS 파일에 상대적입니다. 따라서 'ExcelFile.xlsx'라는 Excel 파일이 있고 동일한 폴더에 있는 경우 경로는 './ExcelFile.xlsx'와 같습니다.xlsxFile
함수를 성공적으로 호출하면 Excel 파일의 모든 행 배열이 포함된 약속이 반환됩니다. 이러한 각 행은 각 셀의 값을 포함하는 배열이기도 합니다. 따라서 모든 것을 하나로 모으려면 다음을 수행하십시오.const xlsxFile = require('read-excel-file/node');
xlsxFile('./ExcelFile.xlsx')
.then((rows) => {
rows.forEach((row) => {
row.forEach((cell) => {
console.log(cell);
});
});
});
위 함수는 콘솔의 모든 단일 셀을 왼쪽에서 오른쪽 위에서 아래로 표시합니다. 이제 해당 데이터를 보다 유용한 것으로 조작하려면 다음을 수행하십시오.
xlsxFile('./ExcelFile.xlsx')
.then((rows) => {
const columnNames = rows.shift(); // Separate first row with column names
const objs = rows.map((row) => { // Map the rest of the rows into objects
const obj = {}; // Create object literal for current row
row.forEach((cell, i) => {
obj[columnNames[i]] = cell; // Use index from current cell to get column name, add current cell to new object
});
return obj;
console.log(objs); // Display the array of objects on the console
});
});
이제 각 행은 첫 번째 행을 키 이름으로 사용하여 JavaScript 객체로 변환되었으며 이후의 모든 행은 셀의 키 값과 열 상단에 이름의 키 이름이 있는 객체를 생성하는 데 사용됩니다. 기본적으로 다음과 같습니다. Excel-to-JavaScript 생성자 함수.
마지막으로 Sequelize와 같은 ORM을 사용하여 데이터베이스에 삽입하려는 경우:
xlsxFile('./ExcelFile.xlsx')
.then(async (rows) => {
const columnNames = rows.shift();
const promises = rows.map((row) => { // Map the rows array into an array of promises that each create an entry in the DB
const obj = {};
row.forEach((cell, i) => {
obj[columnNames[i]] = cell;
});
return Grade.create(obj); // 'Grade' is a hypothetical Sequelize model where the grades can be saved
});
await Promise.all(promises); // Use Promise.all to execute all promises
});
그리고 튜토리얼입니다! 개발자가 명시적으로 언급하지는 않았지만 가져올 수 있는 .xlsx 파일의 크기에 대한 제한이 있다는 점에 유의해야 합니다. 이것은 Excel과 JavaScript 데이터 사이를 오가며 데이터를 처리하는 절대적으로 가장 실용적인 방법은 아닐 수 있지만 소규모 프로젝트에 확실히 유용할 수 있으며 이전 데이터 세트를 업데이트하고 가져와야 하는 경우 많은 시간을 절약할 수 있습니다. JavaScript 프로젝트용입니다.
이 앱과 해당 개발자에 대한 자세한 내용은 GitHubhttps://gitlab.com/catamphetamine/read-excel-file에서 확인할 수 있습니다.
Reference
이 문제에 관하여(Excel 파일에서 JavaScript 개체를 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/austinbrownopspark/how-to-create-javascript-objects-from-an-excel-file-47fk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)