Exemplo n.º 1
0
        // Write
        internal static void WriteHeaderFooterToWriter(CustomOpenXmlWriter<OpenXmlPackaging.WorksheetPart> writer, HeaderFooter headerFooter)
        {
            if (headerFooter.HasValue())
            {
                writer.WriteOpenXmlElement(new OpenXmlSpreadsheet.HeaderFooter());
                if (!headerFooter.AlignWithMargins) writer.WriteAttribute("alignWithMargins", headerFooter.AlignWithMargins);

                if (headerFooter.OddHeader != "")
                {
                    writer.WriteOpenXmlElement(new OpenXmlSpreadsheet.OddHeader());
                    writer.WriteText(headerFooter.OddHeader);
                    writer.WriteEndElement();   // OddHeader
                }
                if (headerFooter.OddFooter != "")
                {
                    writer.WriteOpenXmlElement(new OpenXmlSpreadsheet.OddFooter());
                    writer.WriteText(headerFooter.OddFooter);
                    writer.WriteEndElement();   // OddFooter
                }

                writer.WriteEndElement();   // HeaderFooter
            }
        }
Exemplo n.º 2
0
        // Write
        internal static void WriteCellToWriter(CustomOpenXmlWriter<OpenXmlPackaging.WorksheetPart> writer, Cell cell)
        {
            if (!cell.IsUsed)
                return;

            writer.WriteOpenXmlElement(new OpenXmlSpreadsheet.Cell());

            string dataType = GetAttributeValueFromCellDataType(cell.CellDataType);
            if (dataType != "") writer.WriteAttribute("t", dataType);
            if (cell.StyleIndex > CellFormat.DefaultStyleIndex) writer.WriteAttribute("s", cell.StyleIndex);
            writer.WriteAttribute("r", cell.Address);

            if (cell.RawValue != null && cell.RawValue.ToString() != "")
            {
                writer.WriteOpenXmlElement(new OpenXmlSpreadsheet.CellValue());

                switch (cell.CellDataType)
                {
                    case CellDataType.Boolean:
                        writer.WriteText((bool)cell.RawValue);
                        break;
                    case CellDataType.SharedString:
                        int sharedStringIndex;
                        if (cell.SharedString != null)
                            sharedStringIndex = cell.Worksheet.Workbook.SharedStrings[cell.SharedString];
                        else
                            sharedStringIndex = cell.Worksheet.Workbook.SharedStrings[cell.RawValue.ToString()];

                        writer.WriteText(sharedStringIndex.ToString());
                        break;
                    default:
                        writer.WriteString(cell.RawValue.ToString());
                        break;
                }
                writer.WriteEndElement();    // CellValue
            }

            writer.WriteEndElement();   // Cell
        }