2

Nodejsアプリケーションでexceljs npmを使用して、フォーマット済みデータのExcelファイルを生成しました。

期待どおりに機能し、Excel ファイルをダウンロードしています。ファイルは、MS Excel 2007 を除くすべてのソフトウェアで開かれています。下の画像のようなエラーが表示されます。[はい] を押すと、新しいシートが開きます。エラーは以下のスクリーンショットにあります

ここに画像の説明を入力

以下のように使用したコード。

exports.getDocExcel = function(req, res) {


  var workbook = new Excel.Workbook();

  var worksheet = workbook.addWorksheet('Manage_Customer');

  worksheet.columns = [{
      header: 'SoldTo_Customer',
      key: 'SoldTo_Customer',
      width: 20
    },
    {
      header: 'CDC_CustomerID',
      key: 'CDC_CustomerID',
      width: 20
    },
    {
      header: 'CDC_Name',
      key: 'CDC_Name',
      width: 20
    },
    {
      header: 'CDC_City',
      key: 'CDC_City',
      width: 20
    },
    {
      header: 'CDC_State',
      key: 'CDC_State',
      width: 20
    },
    {
      header: 'CDC_Zip',
      key: 'CDC_Zip',
      width: 20
    },



  ];

  var fileName = "sample.xlsx";
  var tempFilePath = __dirname + fileName;

  workbook.xlsx.writeFile(tempFilePath).then(function() {
    fs.readFile(tempFilePath, function(err, data) {
      res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
      res.setHeader("Content-Disposition", "attachment; filename=" + fileName);
      res.write(data);
      res.end();
    });
  });

};

以下のサーバーページ

const express = require("express");
const app = express();
const bodyParser = require('body-parser');
const path = require('path');
const dotenv = require('dotenv');
const chalk = require('chalk');
const multipart = require("connect-multiparty");
var sql = require("mssql");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: true
}));

app.use(express.static( __dirname + "/public"));
dotenv.load({ path: '.env.Config' });
app.set('port', process.env.App_PORT || 3000);
app.listen(app.get('port'), () => {
    console.log('%s server running on port', chalk.green('✓'), app.get('port'));
    console.log('  Press CTRL-C to stop\n');
});
const pdfController = require('./public/controllers/pdf.js');
app.get("/doc-to-excel",pdfController.getDocExcel);

この問題を解決するには?

4

0 に答える 0