Освоение манипуляций с Excel в TypeScript: удобное руководство для разработчиков

Таблицы Excel — универсальный инструмент для обработки и анализа данных. Как разработчик TypeScript, возможность эффективной работы с файлами Excel может значительно повысить вашу производительность. В этой статье блога мы рассмотрим различные методы и примеры кода для чтения файлов Excel с использованием TypeScript. Итак, возьмите свой любимый напиток для кодирования и приступим!

  1. Использование библиотеки ExcelJS.
    ExcelJS — это мощная библиотека JavaScript, предоставляющая полный набор функций для чтения и записи файлов Excel. Вы можете установить его через npm, используя следующую команду:
npm install exceljs

Вот фрагмент кода, который поможет вам начать:

import * as ExcelJS from 'exceljs';
async function readExcel(filePath: string): Promise<any[]> {
  const workbook = new ExcelJS.Workbook();
  await workbook.xlsx.readFile(filePath);
  const worksheet = workbook.getWorksheet(1);
  const data = [];
  worksheet.eachRow((row, rowNumber) => {
    const rowData = row.values;
    data.push(rowData);
  });
  return data;
}
// Usage
const filePath = 'path/to/excel/file.xlsx';
readExcel(filePath)
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error(error);
  });
  1. Разбор Excel как CSV.
    Другой подход — преобразовать файл Excel в формат CSV, а затем проанализировать его с помощью TypeScript. Этот метод полезен, когда вам нужны только данные и не требуются специальные функции Excel.
import * as fs from 'fs';
import * as csvParse from 'csv-parse';
function readExcelAsCSV(filePath: string): Promise<any[]> {
  return new Promise((resolve, reject) => {
    const data = [];
    fs.createReadStream(filePath)
      .pipe(csvParse({ delimiter: ',' }))
      .on('data', row => {
        data.push(row);
      })
      .on('end', () => {
        resolve(data);
      })
      .on('error', error => {
        reject(error);
      });
  });
}
// Usage
const filePath = 'path/to/excel/file.xlsx';
readExcelAsCSV(filePath)
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error(error);
  });
  1. Преобразование Excel в формат JSON.
    Если вы предпочитаете работать с данными JSON, вы можете преобразовать файл Excel в формат JSON с помощью библиотеки exceljs. Вот пример:
import * as ExcelJS from 'exceljs';
async function readExcelAsJSON(filePath: string): Promise<any[]> {
  const workbook = new ExcelJS.Workbook();
  await workbook.xlsx.readFile(filePath);
  const worksheet = workbook.getWorksheet(1);
  const data = worksheet.getSheetValues();
  return data;
}
// Usage
const filePath = 'path/to/excel/file.xlsx';
readExcelAsJSON(filePath)
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error(error);
  });

В этой статье мы рассмотрели различные способы чтения файлов Excel с помощью TypeScript. Мы рассмотрели использование библиотеки ExcelJS для прямого манипулирования файлами Excel, анализа файлов Excel как CSV и преобразования файлов Excel в формат JSON. Эти методы обеспечивают гибкость и позволяют беспрепятственно работать с данными Excel в приложениях TypeScript. Итак, используйте эти методы, чтобы стать мастером манипуляций с Excel в TypeScript!