using System; using System.IO; using System.Text; using CPF.Drawing; using CPF.ReoGrid.Common; using CPF.ReoGrid.Core; using CPF.ReoGrid.XML; namespace CPF.ReoGrid.IO { internal class RGHTMLExporter { public static void Export(Stream s, Worksheet sheet, string pageTitle, bool htmlHeader = true) { using (StreamWriter streamWriter = new StreamWriter(s)) { StringBuilder stringBuilder = new StringBuilder(); if (htmlHeader) { streamWriter.WriteLine(""); streamWriter.WriteLine(""); streamWriter.WriteLine("
"); streamWriter.WriteLine("1; if (flag2) { stringBuilder.Append(" rowspan='" + cell.Rowspan.ToString() + "'"); } bool flag3 = cell != null && cell.Colspan > 1; if (flag3) { stringBuilder.Append(" colspan='" + cell.Colspan.ToString() + "'"); } stringBuilder.AppendFormat(" style='width:{0}px;", (cell == null) ? ((float)columnHeader.Width) : cell.Width); bool flag4 = false; bool flag5 = cell != null; if (flag5) { bool flag6 = cell.RenderHorAlign == ReoGridRenderHorAlign.Right; if (flag6) { RGHTMLExporter.WriteHtmlStyle(stringBuilder, "text-align", "right"); flag4 = true; } else { bool flag7 = cell.RenderHorAlign == ReoGridRenderHorAlign.Center; if (flag7) { RGHTMLExporter.WriteHtmlStyle(stringBuilder, "text-align", "center"); flag4 = true; } } } WorksheetRangeStyle cellStyles = sheet.GetCellStyles(i, j); bool flag8 = cellStyles != null; if (flag8) { bool flag9 = cellStyles.HasStyle(PlainStyleFlag.BackColor) && cellStyles.BackColor != Color.White; if (flag9) { RGHTMLExporter.WriteHtmlStyle(stringBuilder, "background-color", TextFormatHelper.EncodeColor(cellStyles.BackColor)); } bool flag10 = cellStyles.HasStyle(PlainStyleFlag.TextColor) && cellStyles.TextColor != Color.Black; if (flag10) { RGHTMLExporter.WriteHtmlStyle(stringBuilder, "color", TextFormatHelper.EncodeColor(cellStyles.TextColor)); } bool flag11 = cellStyles.HasStyle(PlainStyleFlag.FontSize); if (flag11) { RGHTMLExporter.WriteHtmlStyle(stringBuilder, "font-size", cellStyles.FontSize.ToString() + "pt"); } bool flag12 = !flag4 && cellStyles.HasStyle(PlainStyleFlag.HorizontalAlign); if (flag12) { RGHTMLExporter.WriteHtmlStyle(stringBuilder, "text-align", XmlFileFormatHelper.EncodeHorizontalAlign(cellStyles.HAlign)); } bool flag13 = cellStyles.HasStyle(PlainStyleFlag.VerticalAlign); if (flag13) { RGHTMLExporter.WriteHtmlStyle(stringBuilder, "vertical-align", XmlFileFormatHelper.EncodeVerticalAlign(cellStyles.VAlign)); } } RangeBorderInfoSet rangeBorders = sheet.GetRangeBorders((cell == null) ? new RangePosition(i, j, 1, 1) : new RangePosition(cell.InternalRow, cell.InternalCol, (int)cell.Rowspan, (int)cell.Colspan), BorderPositions.All, true); bool flag14 = !rangeBorders.Top.IsEmpty; if (flag14) { RGHTMLExporter.WriteCellBorder(stringBuilder, "border-top", rangeBorders.Top); } bool flag15 = !rangeBorders.Left.IsEmpty; if (flag15) { RGHTMLExporter.WriteCellBorder(stringBuilder, "border-left", rangeBorders.Left); } bool flag16 = !rangeBorders.Right.IsEmpty; if (flag16) { RGHTMLExporter.WriteCellBorder(stringBuilder, "border-right", rangeBorders.Right); } bool flag17 = !rangeBorders.Bottom.IsEmpty; if (flag17) { RGHTMLExporter.WriteCellBorder(stringBuilder, "border-bottom", rangeBorders.Bottom); } stringBuilder.Append("'>"); streamWriter.WriteLine(stringBuilder.ToString()); bool flag18 = cell != null; string value; if (flag18) { value = (string.IsNullOrEmpty(cell.DisplayText) ? " " : RGHTMLExporter.HtmlEncode(cell.DisplayText)); } else { value = " "; } streamWriter.WriteLine(value); streamWriter.WriteLine(" | "); j += (int)((cell == null) ? 1 : cell.Colspan); } } streamWriter.WriteLine("