All pastes #267764 Raw Edit

Unnamed

public text v1 · immutable
·published 2006-12-05 02:03 UTC
rendered paste body
        public static void Write(string Filename, string Title, IEnumerable<IEnumerable<object>> Data) {
            XmlTextWriter writer = new XmlTextWriter(Filename, Encoding.UTF8);
            writer.Formatting = Formatting.Indented;
            writer.Indentation = 2;
            writer.WriteProcessingInstruction("xml", "version=\"1.0\"");
            writer.WriteProcessingInstruction("mso-application", "progid=\"Excel.Sheet\"");
            writer.WriteStartElement("Workbook");
            writer.WriteAttributeString("xmlns", "urn:schemas-microsoft-com:office:spreadsheet");
            writer.WriteAttributeString("xmlns:ss", "urn:schemas-microsoft-com:office:spreadsheet");
            writer.WriteStartElement("Worksheet");
            writer.WriteAttributeString("ss:Name", Title);
            writer.WriteStartElement("Table");
            foreach (IEnumerable<object> row in Data) {
                writer.WriteStartElement("Row");
                foreach (object column in row) {
                    writer.WriteStartElement("Cell");
                    if (column != null) {
                        writer.WriteStartElement("Data");
                        if (column.GetType().IsValueType)
                            writer.WriteAttributeString("ss:Type", "Number");
                        else
                            writer.WriteAttributeString("ss:Type", "String");
                        writer.WriteString(column.ToString());
                        writer.WriteEndElement();
                    }
                    writer.WriteEndElement();
                }
                writer.WriteEndElement();
            }
            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.Flush();
            writer.Close();
        }