protected override void RenderBody(ExtendedXlsFile xls) { UsedRows = Parent.GetUsedRows() + 1; StartRow = UsedRows; StartCol = InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.BalPartName]; xls.SetCellValue(UsedRows, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.BalPartName], "Субъект/Подстанция/Присоединение", InternalData.GetHeaderFormat(xls)); xls.MergeCells(UsedRows, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.BalPartName], UsedRows + 1, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.InputSumm] - 1); //Нужно объединить ячейку до "Прием кВт.ч." xls.SetCellValue(UsedRows, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.InputSumm], "Прием кВт.ч.", InternalData.GetHeaderFormat(xls)); xls.MergeCells(UsedRows, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.InputSumm], UsedRows + 1, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.InputSumm]); if (InternalData.ExportType == TExportExcelAdapterType.toXLS) { xls.SetColWidth(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.InputSumm], xls.GetColWidth(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.InputSumm]) + Convert.ToInt32(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.InputSumm] * ExcelMetrics.ColMult(xls))); } xls.SetCellValue(UsedRows, InternalData.HeaderInputColumnNumbers.Values.Select(x => x.ColumnNumber).Min(), "В том числе по уровням напряжения", InternalData.GetHeaderFormat(xls)); if (InternalData.ExportType == TExportExcelAdapterType.toXLS) { xls.SetColOutlineLevel(InternalData.HeaderInputColumnNumbers.Values.Select(x => x.ColumnNumber).Min(), InternalData.HeaderInputColumnNumbers.Values.Select(x => x.ColumnNumber).Max(), 1); } xls.MergeCells(UsedRows, InternalData.HeaderInputColumnNumbers.Values.Select(x => x.ColumnNumber).Min(), UsedRows, InternalData.HeaderInputColumnNumbers.Values.Select(x => x.ColumnNumber).Max()); foreach (var voltage in InternalData.HeaderInputColumnNumbers) { xls.SetCellValue(UsedRows + 1, voltage.Value.ColumnNumber, ((((double)voltage.Key) / 100.0)).ToString() + "кВ", InternalData.GetHeaderFormat(xls)); if (InternalData.ExportType == TExportExcelAdapterType.toXLS) { xls.SetColWidth(voltage.Value.ColumnNumber, xls.GetColWidth(voltage.Value.ColumnNumber) + Convert.ToInt32(voltage.Value.ColumnNumber * ExcelMetrics.ColMult(xls))); } } xls.SetCellValue(UsedRows, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.OutputSumm], "Отдача кВт.ч.", InternalData.GetHeaderFormat(xls)); xls.MergeCells(UsedRows, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.OutputSumm], UsedRows + 1, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.OutputSumm]); if (InternalData.ExportType == TExportExcelAdapterType.toXLS) { xls.SetColWidth(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.OutputSumm], xls.GetColWidth(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.OutputSumm]) + Convert.ToInt32(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.OutputSumm] * ExcelMetrics.ColMult(xls))); } xls.SetCellValue(UsedRows, InternalData.HeaderOutputColumnNumbers.Values.Select(x => x.ColumnNumber).Min(), "В том числе по уровням напряжения", InternalData.GetHeaderFormat(xls)); if (InternalData.ExportType == TExportExcelAdapterType.toXLS) { xls.SetColOutlineLevel(InternalData.HeaderOutputColumnNumbers.Values.Select(x => x.ColumnNumber).Min(), InternalData.HeaderOutputColumnNumbers.Values.Select(x => x.ColumnNumber).Max(), 1); } xls.MergeCells(UsedRows, InternalData.HeaderOutputColumnNumbers.Values.Select(x => x.ColumnNumber).Min(), UsedRows, InternalData.HeaderOutputColumnNumbers.Values.Select(x => x.ColumnNumber).Max()); foreach (var voltage in InternalData.HeaderOutputColumnNumbers) { xls.SetCellValue(UsedRows + 1, voltage.Value.ColumnNumber, ((((double)voltage.Key) / 100.0)).ToString() + "кВ", InternalData.GetHeaderFormat(xls)); if (InternalData.ExportType == TExportExcelAdapterType.toXLS) { xls.SetColWidth(voltage.Value.ColumnNumber, xls.GetColWidth(voltage.Value.ColumnNumber) + Convert.ToInt32(voltage.Value.ColumnNumber * ExcelMetrics.ColMult(xls))); } } xls.SetCellValue(UsedRows, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.SaldoSumm], "Сальдо кВт.ч.", InternalData.GetHeaderFormat(xls)); xls.MergeCells(UsedRows, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.SaldoSumm], UsedRows + 1, InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.SaldoSumm]); if (InternalData.ExportType == TExportExcelAdapterType.toXLS) { xls.SetColWidth(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.SaldoSumm], xls.GetColWidth(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.SaldoSumm]) + Convert.ToInt32(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.SaldoSumm] * ExcelMetrics.ColMult(xls))); } UsedRows++; UsedCols = InternalData.TotalColumnsCount; SetBorderAllCellsInBlock(xls, System.Drawing.Color.Black, FlexCel.Core.TFlxBorderStyle.Thin); xls.SetColWidth(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.BalPartName], Convert.ToInt32(30f * ExcelMetrics.ColMult(xls))); xls.SetColWidth(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.ItemInLev1], Convert.ToInt32(30f * ExcelMetrics.ColMult(xls))); if (InternalData.HeaderColumnNumbers.ContainsKey(HeaderBal0LogicalParts.ItemInLev3)) { xls.SetColWidth(InternalData.HeaderColumnNumbers[HeaderBal0LogicalParts.ItemInLev2], Convert.ToInt32(30f * ExcelMetrics.ColMult(xls))); } if (InternalData.ExportType == TExportExcelAdapterType.toXLS) { xls.CollapseOutlineCols(1, TCollapseChildrenMode.Collapsed); } }