ag-grid excel экспорт + нодмейлер? - PullRequest
0 голосов
/ 16 марта 2020

Я использую ag-grid и уже пользуюсь их exportDataAsExcel(params): загрузка файла Excel на компьютер пользователя. Это непосредственно загружает файл Excel на компьютер пользователя. Эта функция, кажется, не помогает, если я реализую функцию, позволяющую пользователю отправлять кому-либо по электронной почте файл Excel.

Мне интересно, могу ли я использовать их getDataAsExcel(params): Возвращает Файл Excel в виде строки XML. Это вынуждает exportMode в xml. и каким-то образом превращать эту строку XML в файл Excel и отправлять ее по электронной почте через nodemailer?

После просмотра документации по nodemailer я могу прикрепить файл со следующими параметрами: но я не уверен, что это будет работать со строкой XML. Кто-нибудь пытался реализовать подобные вещи раньше?

let message = {
    ...
    attachments: [
        {   // utf-8 string as an attachment
            filename: 'text1.txt',
            content: 'hello world!'
        },
        {   // binary buffer as an attachment
            filename: 'text2.txt',
            content: new Buffer('hello world!','utf-8')
        },
        {   // file on disk as an attachment
            filename: 'text3.txt',
            path: '/path/to/file.txt' // stream this file
        },
        {   // filename and content type is derived from path
            path: '/path/to/file.txt'
        },
        {   // stream as an attachment
            filename: 'text4.txt',
            content: fs.createReadStream('file.txt')
        },
        {   // define custom content type for the attachment
            filename: 'text.bin',
            content: 'hello world!',
            contentType: 'text/plain'
        },
        {   // use URL as an attachment
            filename: 'license.txt',
            path: 'https://raw.github.com/nodemailer/nodemailer/master/LICENSE'
        },
        {   // encoded string as an attachment
            filename: 'text1.txt',
            content: 'aGVsbG8gd29ybGQh',
            encoding: 'base64'
        },
        {   // data uri as an attachment
            path: 'data:text/plain;base64,aGVsbG8gd29ybGQ='
        },
        {
            // use pregenerated MIME node
            raw: 'Content-Type: text/plain\r\n' +
                 'Content-Disposition: attachment;\r\n' +
                 '\r\n' +
                 'Hello world!'
        }
    ]
}
...