Devo salvare dei dati su dei file excel e ho usato questo codice
var dataInventory = **prendo i dati**
string xml = String.Empty;
XmlDocument xmlDoc = new XmlDocument();
XmlSerializer xmlSerializer = new XmlSerializer(dataInventory.GetType());
using (MemoryStream xmlStream = new MemoryStream())
{
xmlSerializer.Serialize(xmlStream, dataInventory);
xmlStream.Position = 0;
xmlDoc.Load(xmlStream);
xml = xmlDoc.InnerXml;
}
var fName = string.Format("Inventario_-{0}.xls", DateTime.Now.ToString("s"));
byte[] fileContents = Encoding.UTF8.GetBytes(xml);
return File(fileContents, "application/vdn.ms-excel", fName);
E funziona anche benino, perché il file si genera. Il problema è che quando lo apro mi esce un errore del tipo
Il formato di file è diverso da quello indicato dall'estensione in Excel
E mi chiede se sono sicuro di voler continuare. Premo si e mi esce un altro pop up in cui mi dice se voglio aprire il file come
Tabella xml xml
o come cartella di lavoro condivisa o.o
o di usare riquadro attività Origine XML o.o
Comunque a questo punto se scelgo di aprirlo come tabella XML alla fine me lo apre in modo corretto.
C'è un modo per evitare questo genere di errori?