コード例 #1
0
 public void AutofitCols(float adjustment)
 {
     for (int i = 1; i <= ColCount; i++)
     {
         AutofitCol(i, false, adjustment);
         SetColWidth(i, GetColWidth(i) + Convert.ToInt32((10f * ExcelMetrics.ColMult(this))));
     }
 }
コード例 #2
0
ファイル: BaseFlexCelReport.cs プロジェクト: BaoNam30698/ydct
        public static double GetWidth(ExcelFile xls, int col1, int col2)
        {
            double Result = 0;

            for (int c = col1; c < col2; c++)
            {
                Result += xls.GetColWidth(c, true);
            }

            return(Result / ExcelMetrics.ColMult(xls));
        }
コード例 #3
0
ファイル: UPxlRecordLoader.cs プロジェクト: mwilian/demos
 private byte[] GetColWidth(int wPixels)
 {
     if (PxlVersion == TPxlVersion.v10)
     {
         return(BitConverter.GetBytes((UInt16)(wPixels * ExcelMetrics.ColMult(FWorkbook))));
     }
     else
     {
         return(BitConverter.GetBytes((UInt16)wPixels));
     }
 }
コード例 #4
0
 private void InitXF()
 {
     XFHeight = new int[Wg.CellXF.Count];
     XFFonts  = new TFlxFont[XFHeight.Length];
     for (int i = 0; i < XFHeight.Length; i++)
     {
         TXFRecord   xf        = Wg.CellXF[i];
         int         FontIndex = xf.GetActualFontIndex(Wg.Fonts);
         TFontRecord Fr        = Wg.Fonts[FontIndex];
         XFFonts[i]  = Fr.FlxFont();
         XFHeight[i] = (int)ExcelMetrics.GetRowHeightInPixels(XFFonts[i]);
     }
 }
コード例 #5
0
        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);
            }
        }