Экспорт в ExcelJS не работает в производственной среде Angular 6, но прекрасно работает в среде разработки.
Я использую «exceljs»: «^ 1.13.0» с «file-saver»: «^ 2.0.2" .До сих пор я пытался обновить:
angular.json scripts with "node_modules/exceljs/dist/exceljs.min.js",
tsconfig.json with "paths": {"exceljs": ["node_modules/exceljs/dist/exceljs.min"].
Кроме того, я пробовал два разных набора импорта:
import * as Excel from 'exceljs/dist/exceljs.min.js';
import * as FileSaver from 'file-saver';
и
import * as Excel from "exceljs/dist/exceljs.min.js";
import * as ExcelProper from "exceljs";
import * as FileSaver from 'file-saver';
Я также пробовалдобавление:
declare const ExcelJS: any;
Вот служба Excel.
import { Injectable } from '@angular/core';
import * as Excel from "exceljs/dist/exceljs.min.js";
import * as ExcelProper from "exceljs";
import * as FileSaver from 'file-saver';
const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
const EXCEL_EXTENSION = '.xlsx';
// declare const ExcelJS: any;
@Injectable({
providedIn: 'root'
})
export class ExcelService {
workbook: Excel.Workbook;
worksheet: any;
constructor() { }
generateExcel() {
// Create workbook and worksheet
this.workbook = new Excel.Workbook();
// Add a Worksheet
this.worksheet = this.workbook.addWorksheet('File');
//Add Test to cell A1
this.worksheet.getCell('A1').value = 'TEST';
// Generate Excel File
this.workbook.xlsx.writeBuffer().then((data) => {
console.log('buffer data', data);
const blob = new Blob([data], {type: EXCEL_TYPE});
console.log('blob', blob);
FileSaver.saveAs(blob, 'quote.xlsx');
});
}
// конец класса}
Исключением является загрузка электронной таблицы в браузере призавершение метода в моей службе Excel в производственной среде, что происходит в среде разработки.