@Pix3

Как экспортировать данные в Excel из БД?

Я использую библиотеку excel4node.
Я хочу экспортировать данные в Excel из базы данных. Пока что я только пробую сделать это экспортировав определенные данные по дате. В общем, при экспорте создается Excel, но там нет ни одной записи.

var xl = require('excel4node')
const db = require('../config/db.config.js')
const Report = db.report

var wb = new xl.Workbook()


var ws = wb.addWorksheet('Отчет');

var style = wb.createStyle({
    font: {
        color: '#000000',
        size: 12
    }
});

module.exports.getexceldata = async function(req, res) {
    try {
         await Report.findAll({
            where: {
                report_date: req.params.report_date
            }
        })
        ws.cell(1,1).string({name: req.body.name}).style(style)
        wb.write('Excel.xlsx');
        res.download('\Excel.xlsx');
    } catch(e) {
        errorHandler(res, e)
    }
}


Как должна выглядеть эта строка правильно?

ws.cell(1,1).string({name: req.body.name}).style(style)


На всякий случай поясню, что это ссылка на модель:

const db = require('../config/db.config.js')
const Report = db.report
  • Вопрос задан
  • 238 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Iv_and_S
ws.cell(1,1).string({name: req.body.name}).style(style)

что там за данные, какого типа? точно строка?
рекомендовал бы посмотреть в отладчике и данные перед записью подготавливать.
попробуйте просто строку записать сперва. если все ОК, значит Вы неверно подготовили данные.

т.е.
var dataForWrite = Str(результат запроса);
ws.cell(1,1).string(dataForWrite).style(style);


библиотека точно рабочая, по крайней мере в части записи данных.
я тут использовал но примеры раскиданы по коду.

res.download('\Excel.xlsx'); - это не понятно что и зачем в примере.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы