Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Excel电子表格未下载_Javascript_Node.js_Excel_Browser_Excel4node - Fatal编程技术网

Javascript Excel电子表格未下载

Javascript Excel电子表格未下载,javascript,node.js,excel,browser,excel4node,Javascript,Node.js,Excel,Browser,Excel4node,我使用Excel4node库创建了一个excel电子表格,然后用必要的数据填写了该电子表格 var excel = require('excel4node'); var workbook = new excel.Workbook(); var worksheet = workbook.addWorksheet('Sheet 1'); 然后,我希望用户能够下载此电子表格并在Microsoft Excel中打开它 workbook.write("Excel.xlsx", res

我使用Excel4node库创建了一个excel电子表格,然后用必要的数据填写了该电子表格

var excel = require('excel4node');
var workbook = new excel.Workbook();
var worksheet = workbook.addWorksheet('Sheet 1');
然后,我希望用户能够下载此电子表格并在Microsoft Excel中打开它

workbook.write("Excel.xlsx", res);

此代码在FireFox浏览器中工作,但在Google Chrome或Microsoft Edge中不会提示下载。有人能帮我解决这个问题吗?任何帮助都将不胜感激

忘记设置
内容类型
标题,否则浏览器必须猜测

wb.writeToBuffer()
  .then(function(buffer) { 
   const filename = 'Testing workbook.xlsx'
    res
      .set('content-disposition', `attachment; filename="${filename}";  filename*=UTF-8''${encodeURI(filename)}`) // filename header
      .type('.xlsx') // setting content-type to xlsx. based on file extention
      .send(buffer) 
  });

使用它而不是
workbook.write(“Excel.xlsx”,res)
wb.writeToBuffer().then(函数(缓冲区){res.send(缓冲区)})我尚未测试,但应该work@Ajith-非常感谢你的答复。刚刚在Edge中测试过,它成功地提示下载。但是,它不会将文件创建为电子表格。也在Chrome上测试过,没有任何下载提示。这在Google Chrome和Mozilla FireFox上都能完美运行。但奇怪的是,在Microsoft Edge中,用户没有得到下载提示,知道原因吗?将
内容配置
标题行更改为
.set('content-disposition','attachment;filename=“${filename}”;filename*=UTF-8'${encodeURI(filename)}')
。如果这仍然不能像预期的那样工作,他们会在
docs.google.com/spreadsheets
中干下载(导出到.xlsx)一些电子表格,如果这也不能正确提示下载,那么我不知道该怎么做。是的,谢谢你,现在所有这些浏览器都能正常工作了!