public override void WriteTo(XlsWriter writer, int param = 0) { var oldStyle = writer.MergeStyle(Style); try { using (var rowWriter = writer.AddRowArea(GetRows(), GetCols())) { // rowWriter.SetBorder(BorderTop, BorderLeft, BorderRight, BorderBottom); foreach (var item in Items) { if (item.GetRows() == 0) { continue; } using (var colWriter = rowWriter.AddColArea()) { item.WriteTo(colWriter, param); } } } } finally { writer.Style = oldStyle; } }
public override void WriteTo(XlsWriter writer, int param = 0) { var oldStyle = writer.MergeStyle(Style); try { if (Items.Count == 0) { writer.AddCell(ColSpan, writer.EndRowIndex - writer.CurrentRowIndex); } else { writer.AddCell(GetCols()); } // writer.SetBorder(BorderTop, BorderLeft, BorderRight, BorderBottom); writer.SetValue(Text); using (var rowWriter = writer.AddRowArea()) { foreach (var item in Items) { if (item.GetRows() == 0) { continue; } using (var colWriter = rowWriter.AddColArea()) { item.WriteTo(colWriter, param); } } } } finally { writer.Style = oldStyle; } }
public override void WriteTo(XlsWriter writer, int param = 0) { var oldStyle = writer.MergeStyle(Style); try { using (var rowWriter = writer.AddRowArea(GetRows(), GetCols())) { var s = String.Empty; foreach (var item in Items) { if (item is XlsDataField) { var field = (XlsDataField)item; var val = field.GetValue(); var type = field.Field.GetDataType(); if (val != null) { switch (type) { case BaseDataType.Text: s += (string)val; break; case BaseDataType.Int: s += ((int)val).ToString(); break; case BaseDataType.Float: s += ((double)val).ToString("F"); break; case BaseDataType.Currency: s += ((decimal)val).ToString("N"); break; case BaseDataType.DateTime: s += ((DateTime)val).ToShortDateString(); break; case BaseDataType.Bool: s += ((bool)val) ? "Да" : "Нет"; break; default: s += val.ToString(); break; } } } else if (item is XlsCell) { var val = ((XlsCell)item).GetValue(); s += val != null?val.ToString() : String.Empty; } else if (item is XlsNode) { if (item is XlsTextNode) { s += ((XlsTextNode)item).Text; } else if (item is XlsCellNode) { var val = ((XlsCellNode)item).Cell.GetValue(); s += val != null?val.ToString() : String.Empty; } } } rowWriter.AddCell(GetCols(), GetRows()); writer.SetValue(s); } } finally { writer.Style = oldStyle; } }
public override void WriteTo(XlsWriter writer, int param = 0) { var oldStyle = writer.MergeStyle(Style); try { var i = 0; while (!RowDatas.Eof()) { using (var rowWriter = writer.AddRowArea(GetRows(), GetCols())) { // rowWriter.SetBorder(BorderTop, BorderLeft, BorderRight, BorderBottom); foreach (var item in Items) { if (item.GetRows() == 0) { continue; } using (var colWriter = rowWriter.AddColArea()) { item.WriteTo(colWriter, param); } } } RowDatas.Next(); i++; } if (i == 0) { using (var rowWriter = writer.AddRowArea(GetRows(), GetCols())) { using (var colWriter = rowWriter.AddColArea()) { var noRecord = new XlsText("Нет данных", Items != null && Items.Count > 0 ? Items[Items.Count - 1].GetCols() : 1) { Style = { FontColor = IndexedColors.GREY_50_PERCENT.Index, HAlign = HAlignment.Center } }; noRecord.WriteTo(colWriter, param); } } } else if (ShowSummary) { using (var rowWriter = writer.AddRowArea(GetRows(), GetCols())) { rowWriter.Style.FontStyle |= FontStyle.Bold; // rowWriter.SetBorder(BorderTop, BorderLeft, BorderRight, BorderBottom); foreach (var item in Items) { if (item.GetRows() == 0) { continue; } using (var colWriter = rowWriter.AddColArea()) { item.WriteTo(colWriter, WriteSummaryRow); } } } } } finally { writer.Style = oldStyle; } }