J'ai un fichier Excel construit avec OpenXML 2 et je veux l'envoyer en pièce jointe. par exemple.Envoyer une pièce jointe en mémoire à l'aide d'OpenXML
System.IO.MemoryStream stream = new System.IO.MemoryStream();
SpreadsheetDocument package = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook))
AddParts(package); //created using document reflector
Enregistrer la feuille de calcul à un fichier temporaire en utilisant
stream.WriteTo(new System.IO.FileStream(@"c:\test.xlsx", System.IO.FileMode.Create));
fonctionne très bien. Mais en essayant d'envoyer le flux directement en tant que pièce jointe ne - simplement obtenir un fichier vide attaché à l'e-mail quand je fais
System.Net.Mail.Attachment file = new System.Net.Mail.Attachment(stream, "MobileBill.xlsx", "application/vnd.ms-excel");
anbody savent comment faire cela?
merci. y arriver - il envoie des données maintenant que je peux voir la taille de la pièce jointe a augmenté. Mais Excel se plaint que le contenu est illisible. –
Etes-vous en mesure d'enregistrer la pièce jointe et en quelque sorte diff avec le même fichier, comme enregistré dans votre exemple stream.WriteTo()? Le nouveau fichier est-il complètement vide ou contient-il certaines des données attendues? Combien? Quelles parties? –