手順
- オブジェクトをCSV文字列へ変換
 - ヘッダーを付与
 - レスポンスを返す
 
というような手順でCSVをダウンロードさせます。
1. オブジェクトをCSV文字列へ変換
json2csv というnpmモジュールを使ってオブジェクトをCSV形式の文字列に変換します。
const csv = json2csv.parse(dataList, ['id', 'message']);
2. ヘッダーを付与
生成した文字列をContent-dispositionとContent-Typeのヘッダーを付けて直接ダウンロードさせるようにします。
res.setHeader('Content-disposition', 'attachment; filename=data.csv');
res.setHeader('Content-Type', 'text/csv; charset=UTF-8');
3. レスポンスを返す
最後に作成した文字列のレスポンスを返します。
res.send(csv);
コード
const json2csv = require('json2csv');
router.get('/download', function(req, res, next) {
  dataList = [{
    id: 1,
    message: 'aaa'
  },{
    id: 2,
    message: 'bbb'
  },{
    id: 3,
    message: 'ccc'
  }]
  const csv = json2csv.parse(dataList, ['id', 'message']);
  res.setHeader('Content-disposition', 'attachment; filename=data.csv');
  res.setHeader('Content-Type', 'text/csv; charset=UTF-8');
  res.send(csv);
});
参照
https://stackoverflow.com/questions/35138765/download-csv-file-node-js