Я использую NPOI для создания книги Excel и пытаюсь отправить ее в виде вложения по электронной почте. Мой код выглядит следующим образом:
var wb = new HSSFWorkbook();
//create the workbook
using(var ms = new MemoryStream())
{
wb.Write(ms);
var msg = new MailMessage();
//create email
msg.Attachments.Add(new Attachment(ms, "Document.xls", "application/vnd.ms-excel"));
client.Send(msg);
}
Я исключил код для создания книги, я проверил, чтобы убедиться, что он работает (я могу сохранить файл и открыть его без проблем), но если вы хотите что-то увидеть, пожалуйста, спросите. client
это просто мой SmtpClient
.
Электронное письмо отправляется без проблем, и вложение присутствует как Document.xls (как и ожидалось), однако, когда я его открываю, я получаю следующее сообщение (в Excel 2010), и когда я нажимаю «Да», чтобы открыть, рабочий лист пуст.
The file you are trying to open, 'Document.xls', is in a differrent format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?
Насколько мне известно, я указываю формат. Кто-нибудь видит, что я делаю неправильно? Любая помощь будет оценена по достоинству.