Esempio n. 1
0
        public void CellType(FarPoint.Win.Spread.SheetView obj_sheet)
        {
            for (int row = 2; row < 8; row++)
            {
                if (row!=3)
                {
                    for (int col = 3; col < 6; col++)
                    {
                        fc.Sheet_UnLockedandCellNumber(obj_sheet, row, col);
                    }
                    for (int col = 11; col < 13; col++)
                    {
                        fc.Sheet_UnLockedandCellNumber(obj_sheet, row, col);
                    }
                }
                for (int col = 6; col < 11; col++)
                {
                    fc.Sheet_UnLockedandCellNumber(obj_sheet, row, col);
                    if (col!=6)
                    {
                        obj_sheet.Cells[row, col].CellType = new FarPoint.Win.Spread.CellType.PercentCellType();
                    }

                }
            }
        }
Esempio n. 2
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName)
        {
            //表格共10 行8 列
            rowcount = 10;
            colcount = 8;
            //工作表第一行的标题
            title = "表3‑4  "+year+"年铜陵市并网电厂装机容量表(MW)";
            //工作表名
            sheetname = "表3-4";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 60;
            obj_sheet.Columns[1].Width = 110;
            obj_sheet.Columns[2].Width = 80;
            obj_sheet.Columns[3].Width = 80;
            obj_sheet.Columns[4].Width = 80;
            obj_sheet.Columns[5].Width = 80;
            obj_sheet.Columns[6].Width = 80;
            obj_sheet.Columns[7].Width = 80;
            //设定表格行高度

            obj_sheet.Rows[1].Height = 20;
            obj_sheet.Rows[2].Height = 20;
            //写标题行列内容
            Sheet_AddItem(obj_sheet, SxXjName);
            //写入数据
            Sheet_AddData(obj_sheet, year, ProjID, SxXjName);
            //锁定表格
            fc.Sheet_Locked(obj_sheet);
        }
        /// <summary>
        /// 加载数据同时保存数据到指定位置
        /// </summary>
        /// <param name="obj"></param>
        private void AddData(FarPoint.Win.Spread.FpSpread obj)
        {
            wait = new WaitDialogForm("", "正在加载数据, 请稍候...");
            try
            {
                //打开Excel表格
                //清空工作表
                fpSpread1.Sheets.Clear();
                obj.OpenExcel(System.Windows.Forms.Application.StartupPath + "\\xls\\中压配电网分析.xls");
                PF.SpreadRemoveEmptyCells(obj);
                //this.AddCellChanged();
                //this.barEditItem2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
                //S4_2_1.AddBarEditItems(this.barEditItem2, this.barEditItem1, this);
            }
            catch (System.Exception e)
            {
                //如果打开出错则重新生成并保存
                LoadData();
                //判断文件夹是否存在,不存在则创建
                if (!Directory.Exists(System.Windows.Forms.Application.StartupPath + "\\xls"))
                {
                    Directory.CreateDirectory(System.Windows.Forms.Application.StartupPath + "\\xls");
                }
                //保存EXcel文件
                obj.SaveExcel(System.Windows.Forms.Application.StartupPath + "\\xls\\中压配电网分析.xls", FarPoint.Excel.ExcelSaveFlags.NoFlagsSet);
                // 定义要使用的Excel 组件接口
                // 定义Application 对象,此对象表示整个Excel 程序
                Microsoft.Office.Interop.Excel.Application excelApp = null;
                // 定义Workbook对象,此对象代表工作薄
                Microsoft.Office.Interop.Excel.Workbook workBook;
                // 定义Worksheet 对象,此对象表示Execel 中的一张工作表
                Microsoft.Office.Interop.Excel.Worksheet ws = null;
                Microsoft.Office.Interop.Excel.Range range = null;
                excelApp = new Microsoft.Office.Interop.Excel.Application();
                string filename = System.Windows.Forms.Application.StartupPath + "\\xls\\中压配电网分析.xls";
                workBook = excelApp.Workbooks.Open(filename, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                for (int i = 1; i <= workBook.Worksheets.Count; i++)
                {

                    ws = (Microsoft.Office.Interop.Excel.Worksheet)workBook.Worksheets[i];
                    //取消保护工作表
                    ws.Unprotect(Missing.Value);
                    //有数据的行数
                    int row = ws.UsedRange.Rows.Count;
                    //有数据的列数
                    int col = ws.UsedRange.Columns.Count;
                    //创建一个区域
                    range = ws.get_Range(ws.Cells[1, 1], ws.Cells[row, col]);
                    //设区域内的单元格自动换行
                    range.WrapText = true;
                    //保护工作表
                    ws.Protect(Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                }
                //保存工作簿
                workBook.Save();
                //关闭工作簿
                excelApp.Workbooks.Close();
            }
            wait.Close();
        }
Esempio n. 4
0
 private void Sheet_AddData(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID)
 {
     //对于线路信息,OperationYear中存放的投产年份,Type='05'表示线路信息
     //LineType2存放的公用专用标识,RateVolt存放电压,为float类型
     //JXFS为接线方式,如环网、链式等
     string XLtiaojian = "";
     string[] JGType = { "环网", "放射型", "链式", "T型", "其它" };
     string JGLX = "";
     string DianYa = "";
     for (int row = 2; row < 11; row++)
     {
         for (int col = 2; col <= 3; col++)
         {
             JGLX = JGType[(row / 2) - 1];
             if (col == 2)
             {
                 DianYa = "110";
             }
             else
             {
                 DianYa = "35";
             }
             XLtiaojian = " OperationYear!='' and  year(cast(OperationYear as datetime))<=" + year + " and  Type='05' and  LineType2='公用' and RateVolt=" + DianYa + " and ProjectID='" + ProjID + "' and JXFS='" + JGLX + "'";
             int XLsum = 0;
             if (Services.BaseService.GetObject("SelectPSPDEV_CountAll", XLtiaojian) != null)
             {
                 XLsum = (int)Services.BaseService.GetObject("SelectPSPDEV_CountAll", XLtiaojian);
             }
             obj_sheet.SetValue(row, col, XLsum);
         }
         row++;
     }
 }
Esempio n. 5
0
        /// <summary>
        /// 选中下拉菜单中的数据连接数据库表,方案
        /// </summary>
        /// <param name="BE"></param>
        public void SelectEditChange(FarPoint.Win.Spread.FpSpread fPobj,FarPoint.Win.Spread.SheetView SheetView, object obj, Itop.Client.Base.FormBase FB)
        {
            //string strTitle = null;
            string strID = obj.ToString();
            InitTitle();
            //Ps_forecast_list pfl = null;
            projectID = FB.ProjectUID;
            //string con1 = "Title='" + strTitle + "' and UserID='" + projectID + "'";
            try
            {
                //查询下拉菜单所选中的数据
                //pfl = (Ps_forecast_list)Services.BaseService.GetObject("SelectPs_forecast_listByWhere", con1);
                //programID = pfl.ID;
                programID = strID;
                CityID = SelectID(strID, AreaType[0]);//市辖
                CountyID = SelectID(strID, AreaType[1]);//县级
                SelectDQ(CityID, AreaType[0]);
                SelectDQ(CountyID, AreaType[1]);
                SetLeftTitle(SheetView, 5, 0);//左侧标题
                WriteData(fPobj,SheetView, 5, 0);//数据

                PF.Sheet_GridandCenter(SheetView);//画边线,居中
                S10_1.ColReadOnly(SheetView, SheetView.Columns.Count);
                PF.SetWholeRowHeight(SheetView, SheetView.Rows.Count, SheetView.Columns.Count);//行高
            }
            catch (System.Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 设置年分
        /// </summary>
        ///<param name="FB">传入fromBase对象</param>
        /// <param name="obj">要传入SheetView对象</param>
        /// <param name="IntRow">行数</param>
        /// <param name="IntCol">列数</param>
        /// <param name="RowStep">要合并几个行的单元格</param>
        /// <param name="ColStep">要合并几个列的单元格</param>
        /// <param name="Title">标题</param>
        public void SetYears(string Title, Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol, int RowStep, int ColStep)
        {
            GlobalFormBase = FB;
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = Title;
            py.Col5 = FB.ProjectUID;

            IList<Ps_YearRange> li = Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                GlobalFirstYear = li[0].StartYear;
                GlobalEndYear = li[0].FinishYear;
            }
            else
            {
                GlobalFirstYear = 2000;
                GlobalEndYear = 2009;
                py.BeginYear = 1990;
                py.FinishYear = GlobalEndYear;
                py.StartYear = GlobalFirstYear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Services.BaseService.Create<Ps_YearRange>(py);
            }
            GolobalYearCount = GlobalEndYear - GlobalFirstYear + FixationCol + 1;//后面有两个固定列,加1是起始年的加入
            SetYearsSheet2_1(FB, obj, GlobalFirstYear, GlobalEndYear, GolobalYearCount, IntRow, IntCol, RowStep, ColStep);
        }
Esempio n. 7
0
 public void Build(FarPoint.Win.Spread.SheetView obj_sheet, string ProjID, List<string[]> SxXjName)
 {
     //表格共9 行9 列
     rowcount = 9;
     colcount = 9;
     //工作表第一行的标题
     title = "表5‑2  铜陵市接入110kV及以下配电网的新能源电厂装机容量情况(MW)";
     //工作表名
     sheetname = "表5‑2";
     //设定工作表行列值及标题和表名
     fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
     //设定表格线
     fc.Sheet_GridandCenter(obj_sheet);
     //设定行列模式,以便写公式使用
     fc.Sheet_Referen_R1C1(obj_sheet);
     //设定表格列宽度
     obj_sheet.Columns[0].Width = 60;
     obj_sheet.Columns[1].Width = 100;
     obj_sheet.Columns[2].Width = 90;
     obj_sheet.Columns[3].Width = 90;
     obj_sheet.Columns[4].Width = 90;
     obj_sheet.Columns[5].Width = 90;
     obj_sheet.Columns[6].Width = 90;
     obj_sheet.Columns[7].Width = 90;
     obj_sheet.Columns[8].Width = 90;
     //设定表格行高度
     obj_sheet.Rows[1].Height = 20;
     //写标题行列内容
     Sheet_AddItem(obj_sheet, SxXjName);
     //写入数据
     Sheet_AddData(obj_sheet, ProjID, SxXjName);
     //锁定表格
     fc.Sheet_Locked(obj_sheet);
 }
Esempio n. 8
0
 public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName)
 {
     //表格共14 行4 列
     rowcount = 14;
     colcount = 4;
     //工作表第一行的标题
     title = "表3‑6 " + year + "年铜陵市高压配电网结构情况";
     //工作表名
     sheetname = "表3-6";
     //设定工作表行列值及标题和表名
     fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
     //设定表格线
     fc.Sheet_GridandCenter(obj_sheet);
     //设定行列模式,以便写公式使用
     fc.Sheet_Referen_R1C1(obj_sheet);
     //设定表格列宽度
     obj_sheet.Columns[0].Width = 80;
     obj_sheet.Columns[1].Width = 160;
     obj_sheet.Columns[2].Width = 150;
     obj_sheet.Columns[3].Width = 150;
     //写行列标题
     Sheet_AddItem(obj_sheet);
     //写入数据
     Sheet_AddData(obj_sheet,year,ProjID);
     //写入公式
     //求和公式
     fc.Sheet_WriteFormula_RowSum(obj_sheet, 2, 2, 5, 2, 12, 2, 2);
     //分项求比例公式
     fc.Sheet_WriteFormula_Percent_Row(obj_sheet, 2, 2, 1, 3, 2, 5, 2, 12);
     //总和求比例公式
     fc.Sheet_WriteFormula_Percent_Row(obj_sheet, 12, 2, 0, 13, 2, 1, 2, 12);
     //锁定表格
     fc.Sheet_Locked(obj_sheet);
 }
Esempio n. 9
0
        /// <summary>
        /// 按照起始和结束年份写入列标题
        /// </summary>
        /// <param name="BeginYear"></param>
        /// <param name="EndYear"></param>
        public void SetColumnsTitle(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int BeginYear, int EndYear,string CurrentYear)
        {
            int intTemp = BeginYear;
            Redraw(FB, obj, BeginYear, EndYear, CurrentYear);

            WriteData(FB, obj, CurrentYear);
        }
Esempio n. 10
0
        /// <summary>
        /// 选中下拉菜单中的数据连接数据库表,方案
        /// </summary>
        /// <param name="BE"></param>
        public void SelectEditChange(FarPoint.Win.Spread.FpSpread  fPobj,FarPoint.Win.Spread.SheetView SheetView, object obj, Itop.Client.Base.FormBase FB)
        {
            string strID = null;
            //strTitle = obj.EditValue.ToString();
            strID=obj.ToString();
            Ps_forecast_list pfl = null;
            projectID = FB.ProjectUID;
            string con1 = "ID='" + strID + "' and UserID='" + projectID + "'";
            try
            {
                //查询下拉菜单所选中的数据
                pfl = (Ps_forecast_list)Services.BaseService.GetObject("SelectPs_forecast_listByWhere", con1);
                programID = pfl.ID;
                SetLeftTitle(SheetView, 5, 0);//左侧标题
                WriteData(SheetView, 5, 0);//数据
                S4_3.WriteData(fPobj,fPobj.Sheets[4], 5, 0);

                PF.Sheet_GridandCenter(SheetView);//画边线,居中
                S10_1.ColReadOnly(SheetView, SheetView.Columns.Count);
                PF.SetWholeRowHeight(SheetView, SheetView.Rows.Count, SheetView.Columns.Count);//行高
            }
            catch (System.Exception e)
            {
                //MessageBox.Show(e.Message);
            }
        }
Esempio n. 11
0
 /// <summary>
 /// 设置某列为只读
 /// </summary>
 /// <param name="obj">sheetView对象</param>
 /// <param name="IntCol">列数</param>
 public void ColReadOnly(FarPoint.Win.Spread.SheetView obj, int IntCol)
 {
     for (int i = 0; i < IntCol; i++)
     {
             obj.Columns[i].Locked = true;//列设置为只读
     }
 }
Esempio n. 12
0
 /// <summary>
 /// 选中下拉菜单中的数据连接数据库表,方案
 /// </summary>
 /// <param name="BE"></param>
 public void SelectEditChange(FarPoint.Win.Spread.SheetView SheetView, object obj, Itop.Client.Base.FormBase FB)
 {
     string strTitle = null;
     string strID = null;
     strID = obj.ToString();
     Ps_forecast_list pfl=null;
     string con1 = "ID='" + strID + "' and UserID='" + FB.ProjectUID + "'";
     try
     {
         //查询下拉菜单所选中的数据
         pfl = (Ps_forecast_list)Services.BaseService.GetObject("SelectPs_forecast_listByWhere", con1);
         strTitle = pfl.Title;
        //“十二五”电网投资(千瓦时/元)
        dTwelveFiveGridInvestment=TwelveFiveGridInvestment(pfl.ID, strTitle, FB);
        //(2015年网供最大负荷-2010年网供最大负荷)
        dNetworkMaxDuty=NetworkMaxDuty(pfl.ID, strTitle);
        //2015-2010年售电收入
        dSaleOfElectricity=SaleOfElectricity(pfl.ID, strTitle);
        //(电网2010年末资产原值+2015年电网年末资产原值)
        dInitialAssetValue=InitialAssetValue(pfl.ID, strTitle);
         //单年售电量
        dYearSaleEletricity=YearSaleEletricity(pfl.ID, strTitle, 2015);
        WriteData(SheetView, 5, 0);//数据
        }
     catch(System.Exception e)
     {
         //MessageBox.Show(e.Message);
     }
 }
Esempio n. 13
0
        //////////////////////////////////////////////////////////////////////////
        /// <summary>
        /// 填写表头
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="Title"></param>
        public void SetSheet_1Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title, bool IsTrue)
        {
            SelectValue(FB);
            int IntColCount = 5;
            int IntRowCount = list.Count + 2 + 3;//标题占3行,分区类型占2行,1是其它用
            string title = null;

            obj.SheetName = Title;
            obj.Columns.Count = IntColCount;
            obj.Rows.Count = IntRowCount;
            IntCol = obj.Columns.Count;

            PF.Sheet_GridandCenter(obj);//画边线,居中
            S10_1.ColReadOnly(obj, IntColCount);
            //obj.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly;

            string strTitle = "";
            IntRow = 3;
            strTitle = Title;
            PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title);
            PF.SetSheetViewColumnsWidth(obj, 0, Title);
            IntCol = 1;

            strTitle = " 变电站名称";
            PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow, IntCol -= 1, strTitle);
            PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle);

            strTitle = " 电压等级(kV)";
            PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle);
            PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle);

            strTitle = " 2012年";
            PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle);
            PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle);

            strTitle = " 2015年";
            PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle);
            PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle);

            strTitle = "备     注";
            PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle);
            PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle);

            NextRowMerge = 1;
            NextColMerge = 1;

            IntRow = 5;
            IntCol = 0;
            SetLeftTitle(obj, IntRow, IntCol);
            if(!IsTrue)
            {
                WriteData(obj, IntRow, IntCol);
            }
            else//更新
            {
                ComparisonData(obj, 5, 2);
                WriteData(obj, IntRow, IntCol);
            }
            PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高
        }
Esempio n. 14
0
 /// <summary>
 /// 用来全部锁住工作簿的单元格
 /// </summary>
 /// <param name="obj"></param>
 public void LockSheets(FarPoint.Win.Spread.SheetView obj)
 {
     for(int j=0;j<obj.ColumnCount;++j)
     {
         obj.Columns[j].Locked = true;
     }
 }
Esempio n. 15
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName)
        {
            //表格共9 行6 列
            rowcount = 9;
            colcount = 6;
            //工作表第一行的标题
            title = "表3‑5  " + year + "年铜陵市220kV或330kV电网规模";
            //工作表名
            sheetname = "表3-5";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 60;
            obj_sheet.Columns[1].Width = 110;
            obj_sheet.Columns[2].Width = 80;
            obj_sheet.Columns[3].Width = 80;
            obj_sheet.Columns[4].Width = 80;
            obj_sheet.Columns[5].Width = 80;

            //添加行列标题
            Sheet_AddItem(obj_sheet);
            //添加数据
            Sheet_AddData(obj_sheet,year,ProjID);
            //写求和公式
            fc.Sheet_WriteFormula_RowSum(obj_sheet, 6, 2, 2, 1, 8, 2, 4);

            //锁定表格
            fc.Sheet_Locked(obj_sheet);
        }
Esempio n. 16
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet, string ProjID)
        {
            //计算市辖供电区条件
            string SXtiaojianarea = " AreaID='" + ProjID + "' and (S10='水电' or S10='煤电') and S9!='' and CAST(S1 as int) between 10 and 110 and S3!='' and  S5='市辖供电区'  group by S9";
            //计算县级供电区条件
            string XJtiaojianarea = " AreaID='" + ProjID + "' and (S10='水电' or S10='煤电') and S9!='' and CAST(S1 as int) between 10 and 110 and S3!='' and  S5!='市辖供电区'  group by S9";
            //存放市辖供电区分区名
            IList<string> SXareaid_List = Services.BaseService.GetList<string>("SelectPSP_PowerSubstation_Info_GroupS9", SXtiaojianarea);
            //存放县级供电区分区名
            IList<string> XJareaid_List = Services.BaseService.GetList<string>("SelectPSP_PowerSubstation_Info_GroupS9", XJtiaojianarea);

            //计算市辖电区电厂个数条件
            string SXtiaojian = " AreaID='" + ProjID + "' and (S10='水电' or S10='煤电') and S9!='' and CAST(S1 as int) between 10 and 110 and S3!='' and  S5='市辖供电区'";
            //计算县级供电区电厂个数条件
            string XJtiaojian = " AreaID='" + ProjID + "' and (S10='水电' or S10='煤电') and S9!='' and CAST(S1 as int) between 10 and 110 and S3!='' and  S5!='市辖供电区'";
            //市辖供电区电厂个数
            int SXsum = (int)Services.BaseService.GetObject("SelectPSP_PowerSubstation_InfoCountByObject", SXtiaojian);
            //县级供电区电厂个数
            int XJsum = (int)Services.BaseService.GetObject("SelectPSP_PowerSubstation_InfoCountByObject", XJtiaojian);
            //表标题行数
            int startrow = 3;

            //表格共10 行12 列
            rowcount = startrow+SXsum+XJsum;
            colcount = 12;
            //工作表第一行的标题
            title = "附表32  铜陵市接入110kV及以下配电网的电源规划方案";
            //工作表名
            sheetname = "表5-1 附表32";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 100;
            obj_sheet.Columns[1].Width = 110;
            obj_sheet.Columns[2].Width = 150;
            obj_sheet.Columns[3].Width = 60;
            obj_sheet.Columns[4].Width = 60;
            obj_sheet.Columns[5].Width = 60;
            obj_sheet.Columns[6].Width = 60;
            obj_sheet.Columns[7].Width = 60;
            obj_sheet.Columns[8].Width = 60;
            obj_sheet.Columns[9].Width = 60;
            obj_sheet.Columns[10].Width = 60;
            obj_sheet.Columns[11].Width = 60;
            //设定表格行高度
            obj_sheet.Rows[1].Height = 20;
            obj_sheet.Rows[2].Height = 20;
            //写标题行列内容
            Sheet_AddItem(obj_sheet, SXareaid_List, XJareaid_List);
            //写入数据
            Sheet_AddData(obj_sheet, ProjID, SXareaid_List, XJareaid_List);

            //锁定表格
            fc.Sheet_Locked(obj_sheet);
        }
Esempio n. 17
0
 /// <summary>
 /// 根据下拉菜单从新打印报表
 /// </summary>
 /// <param name="FB"></param>
 /// <param name="obj"></param>
 /// <param name="strEndYear"></param>
 public void SetColumnsTitle(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj,string strEndYear)
 {
     //查询变电站数据
     SelectBDZ(FB);
     SelectLine(FB,strEndYear,BDZList);
     //重绘
     ReDraw(FB,obj,strEndYear);
 }
Esempio n. 18
0
        public void Build_Sheet(FarPoint.Win.Spread.SheetView obj_sheet)
        {
            //���8 ��6 ��
            rowcount = 8;
            colcount = 6;
            //�������һ�еı���
            title = TC.GetTableTitle(this.GetType().Name);
            //����������
            //int[] TableYearsAry = TC.GetTableYears(this.GetType().Name);
            //��������
            sheetname = title;
            //�趨����������ֵ������ͱ���
            TC.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //�趨����ģʽ���Ա�д��ʽʹ��
            TC.Sheet_Referen_R1C1(obj_sheet);
            //�趨����п��
            obj_sheet.Columns[0].Width = 60;
            obj_sheet.Columns[1].Width = 100;
            obj_sheet.Columns[2].Width = 100;
            obj_sheet.Columns[3].Width = 80;
            obj_sheet.Columns[4].Width = 100;
            obj_sheet.Columns[5].Width = 80;
            //�趨����и߶�
            obj_sheet.Rows[0].Height = 20;
            obj_sheet.Rows[1].Height = 20;
            obj_sheet.Rows[2].Height = 20;
            //���������

            //2�������
            obj_sheet.AddSpanCell(1, 0, 2, 1);
            obj_sheet.AddSpanCell(1, 1, 2, 1);
            obj_sheet.SetValue(1, 2, "������");
            obj_sheet.AddSpanCell(1, 3, 2, 1);
            obj_sheet.SetValue(1, 3, "�����ʣ�%��");
            obj_sheet.SetValue(1, 4, "���縺��");
            obj_sheet.AddSpanCell(1, 5, 2, 1);
            obj_sheet.SetValue(1, 5, "�����ʣ�%��");

            //3�������
            obj_sheet.SetValue(2, 2, "����ǧ��ʱ��");
            obj_sheet.SetValue(2, 4, "����ǧ�ߣ�");
            //���������

            //1�������
            obj_sheet.SetValue(3, 0, "1");

            //2�������
            obj_sheet.SetValue(3, 1, "ȫ��");

            //�������
            Sheet_AddData(obj_sheet);

            //�趨�����
            TC.Sheet_GridandCenter(obj_sheet);

            //�������
            TC.Sheet_Locked(obj_sheet);
        }
Esempio n. 19
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, Hashtable area_key_id, List<string[]> SxXjName)
        {
            //计算市辖供电区条件
            string SXtiaojianarea = " AreaID='" + ProjID + "' and S9!='' and CAST(S1 as int) between 10 and 110 and CAST(S3 as int ) <=" + year + " and  S5='市辖供电区'  group by S9";
            //计算县级供电区条件
            string XJtiaojianarea = " AreaID='" + ProjID + "' and S9!='' and CAST(S1 as int) between 10 and 110 and CAST(S3 as int ) <=" + year + " and  S5!='市辖供电区'  group by S9";
            //存放市辖供电区分区名
            IList<string> SXareaid_List = Services.BaseService.GetList<string>("SelectPSP_PowerSubstation_Info_GroupS9", SXtiaojianarea);
            //存放县级供电区分区名
            IList<string> XJareaid_List = Services.BaseService.GetList<string>("SelectPSP_PowerSubstation_Info_GroupS9", XJtiaojianarea);

            //计算市辖电区电厂个数条件
            string SXtiaojian = " AreaID='" + ProjID + "' and S9!='' and CAST(S1 as int) between 10 and 110 and CAST(S3 as int ) <=" + year + " and  S5='市辖供电区'";
            //计算县级供电区电厂个数条件
            string XJtiaojian = " AreaID='" + ProjID + "' and S9!='' and CAST(S1 as int) between 10 and 110 and CAST(S3 as int ) <=" + year + " and  S5!='市辖供电区'";
            //市辖供电区电厂个数
            int SXsum = (int)Services.BaseService.GetObject("SelectPSP_PowerSubstation_InfoCountByObject", SXtiaojian);
            //县级供电区电厂个数
            int XJsum = (int)Services.BaseService.GetObject("SelectPSP_PowerSubstation_InfoCountByObject", XJtiaojian);
            //表标题行数
            int startrow = 2;

            //表格共10 行10 列
            rowcount = startrow+SXsum+XJsum+2;
            colcount = 10;
            //工作表第一行的标题
            title = "附表2  铜陵市电源装机容量及发电量情况("+year+"年)(发策部、生技部)";
            //工作表名
            sheetname = "表3-4 附表2";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 90;
            obj_sheet.Columns[1].Width = 120;
            obj_sheet.Columns[2].Width = 120;
            obj_sheet.Columns[3].Width = 90;
            obj_sheet.Columns[4].Width = 70;
            obj_sheet.Columns[5].Width = 60;
            obj_sheet.Columns[6].Width = 60;
            obj_sheet.Columns[7].Width = 90;
            obj_sheet.Columns[8].Width = 60;
            obj_sheet.Columns[9].Width = 60;
            //设定表格行高度

            obj_sheet.Rows[1].Height = 40;
            //写标题行列内容
            Sheet_AddItem(obj_sheet, SXareaid_List, XJareaid_List);
            //写入数据
            Sheet_AddData(obj_sheet, year, ProjID, SXareaid_List, XJareaid_List);

            //锁定表格
            fc.Sheet_Locked(obj_sheet);
        }
Esempio n. 20
0
 public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName)
 {
     //写标题行列内容
     //Sheet_AddItem(obj_sheet, SxXjName, DY_list);
     //写入数据
     //Sheet_AddData(obj_sheet, year, ProjID, SxXjName, DY_list);
     //锁定表格
     fc.Sheet_Locked(obj_sheet);
 }
Esempio n. 21
0
        //////////////////////////////////////////////////////////////////////////
        /// <summary>
        /// 填写表头
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="Title"></param>
        public void SetSheet_13Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title)
        {
            int IntColCount = 3;
            int IntRowCount = 6 + 2 + 3;//标题占3行,分区类型占2行
            string title = null;

            obj.SheetName = Title;
            obj.Columns.Count = IntColCount;
            obj.Rows.Count = IntRowCount;
            IntCol = obj.Columns.Count;

            PF.Sheet_GridandCenter(obj);//画边线,居中
            m_PF.LockSheets(obj);

            string strTitle = "";
            IntRow = 3;
            strTitle = Title;
            PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title);
            PF.SetSheetViewColumnsWidth(obj, 0, Title);
            IntCol = 1;

            strTitle = "单位:万千瓦 万千伏安 千伏 座 台";
            obj.AddSpanCell(IntRow, 0, 1, obj.Columns.Count);
            obj.SetValue(IntRow, 0, strTitle);
            PF.SetSheetViewColumnsWidth(obj, 0, strTitle);
            //右对齐
            obj.Rows[IntRow].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right;
            //列标题
            strTitle = "序号";
            PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow += 1, IntCol -= 1, strTitle);
            PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle);

            for (int i = 0; i < (IntColCount - 1); ++i)
            {
                switch (i)
                {
                    case 0:
                        strTitle = " 项                目   ";
                        break;
                    case 1:
                        strTitle = " 统计   ";
                        break;
                     default:
                        break;
                }
                PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle);
                PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle);
            }

            NextRowMerge = 1;
            NextColMerge = 1;

            IntRow = 5;
            IntCol = 0;
            //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高
        }
Esempio n. 22
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, Hashtable area_key_id, List<string[]> SxXjName)
        {
            //线路电压等级根据实际情况查询(中压 6 <= 电压<=20)
            string XLDianYatiaojian = " (b.Type='50' or b.Type='51' or b.Type='52') and  b.OperationYear!='' and  year(cast(b.OperationYear as datetime))<=" + year + " and b.ProjectID='" + ProjID + "' and a.LineType2='公用' and b.RateVolt  between 6 and 20 group by b.RateVolt";
            IList<double> DY_list = Services.BaseService.GetList<double>("SelectPSPDEV_RateVolt_type50-59", XLDianYatiaojian);
            int xlsum = DY_list.Count;
            //计算市辖供电区条件
            string SXtiaojianareaid = " (b.Type='50' or b.Type='51' or b.Type='52')  and  b.OperationYear!='' and  year(cast(b.OperationYear as datetime))<=" + year + " and a.AreaID!='' and  b.ProjectID='" + ProjID + "' and a.LineType2='公用' and a.DQ='市辖供电区' and  b.RateVolt between 6 and 20  group by a.AreaID";
            //计算县级供电区条件
            string XJtiaojianareaid = " (b.Type='50' or b.Type='51' or b.Type='52')  and  b.OperationYear!='' and  year(cast(b.OperationYear as datetime))<=" + year + " and a.AreaID!='' and  b.ProjectID='" + ProjID + "' and a.LineType2='公用' and a.DQ!='市辖供电区' and  b.RateVolt between 6 and 20  group by a.AreaID";
            //存放市辖供电区分区名
            IList<string> SXareaid_List = Services.BaseService.GetList<string>("SelectPSPDEV_AreaID_type50-59", SXtiaojianareaid);
            //存放县级供电区分区名
            IList<string> XJareaid_List = Services.BaseService.GetList<string>("SelectPSPDEV_AreaID_type50-59", XJtiaojianareaid);

            //市辖供电区分区个数
            int SXsum = SXareaid_List.Count;
            //县级供电区分区个数
            int XJsum = XJareaid_List.Count;
            //表标题行数
            int startrow = 2;
            //列标题每项是压等级数
            int length = xlsum;
            //表格共 行6 列
            rowcount = startrow + (SXsum + XJsum + 2) * length;
            colcount = 6;
            //工作表第一行的标题
            title = "附表11  铜陵市中压配电网配电设备统计( " + year + "年)";
            //工作表名
            sheetname = "表3-13 附表11";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 90;
            obj_sheet.Columns[1].Width = 100;
            obj_sheet.Columns[2].Width = 80;
            obj_sheet.Columns[3].Width = 90;
            obj_sheet.Columns[4].Width = 90;
            obj_sheet.Columns[5].Width = 90;
            //设定表格行高度

            obj_sheet.Rows[1].Height = 40;
            //写标题行列内容
            Sheet_AddItem(obj_sheet, area_key_id, DY_list, SXareaid_List, XJareaid_List);
            //写入数据
            Sheet_AddData(obj_sheet,year,ProjID, DY_list, SXareaid_List, XJareaid_List);
            //写入公式

            //锁定表格
            fc.Sheet_Locked(obj_sheet);
        }
Esempio n. 23
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet, string ProjID, List<string[]> SxXjName)
        {
            //表格共59 行19 列
            rowcount = 59;
            colcount = 19;
            //工作表第一行的标题
            title = "表9‑1  新建变电站建设型式及用地需求 (单位:座、km2)";
            //工作表名
            sheetname = "表9‑1";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 60;
            obj_sheet.Columns[1].Width = 100;
            obj_sheet.Columns[2].Width = 60;
            obj_sheet.Columns[3].Width = 60;
            obj_sheet.Columns[4].Width = 90;
            obj_sheet.Columns[5].Width = 40;
            obj_sheet.Columns[6].Width = 60;
            obj_sheet.Columns[7].Width = 40;
            obj_sheet.Columns[8].Width = 60;
            obj_sheet.Columns[9].Width = 40;
            obj_sheet.Columns[10].Width = 60;
            obj_sheet.Columns[11].Width = 40;
            obj_sheet.Columns[12].Width = 60;
            obj_sheet.Columns[13].Width = 40;
            obj_sheet.Columns[14].Width = 60;
            obj_sheet.Columns[15].Width = 40;
            obj_sheet.Columns[16].Width = 60;
            obj_sheet.Columns[17].Width = 50;
            obj_sheet.Columns[18].Width = 60;
            //设定表格行高度
            obj_sheet.Rows[1].Height = 20;
            obj_sheet.Rows[2].Height = 20;

            //写标题行列内容
            Sheet_AddItem(obj_sheet, SxXjName);
            //写入公式
            int startrow = 3;
            int dylength = 2;
            int length = 4;
            int countcol = 12;
            fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow + 2 * dylength * length, 5, 4, dylength * length, startrow + 1 * dylength * length, 5, countcol);
            fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow, 5, 2, dylength * length, startrow + 6 * dylength * length, 5, countcol);
            fc.Sheet_WriteFormula_MoreColsum_NoSpan(obj_sheet, startrow, 7, obj_sheet.RowCount - startrow, 5, startrow, 17, 2);
            fc.Sheet_WriteFormula_OneCol_Anotercol_nopercent(obj_sheet, startrow, 17, 18, 4, obj_sheet.RowCount - startrow,4);
            //锁定表格
            fc.Sheet_Locked(obj_sheet);
            //限定格式
            CellType(obj_sheet);
        }
Esempio n. 24
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName)
        {
            //线路电压等级根据实际情况查询
            //string XLDianYatiaojian = " (Type='05' or Type='50' or Type='51' or Type='52' or Type='55' or Type='56' or Type='57' or Type='58' ) ";
            //XLDianYatiaojian += " and (" + year + " -  year(cast(OperationYear as datetime)) )>=0 and ProjectID='" + ProjID + "' and RateVolt  between 6 and 20 group by RateVolt";

            string XLDianYatiaojian = " Type='05' and (" + year + " -  year(cast(OperationYear as datetime)) )>=0 and ProjectID='" + ProjID + "' and LineType2='公用' and RateVolt  between 6 and 20 group by RateVolt";
            IList<double> DY_list = Services.BaseService.GetList<double>("SelectPSPDEV_RateVolt", XLDianYatiaojian);
            int xlsum = DY_list.Count;
            //表标题行数
            int startrow = 3;
            //列标题每项行数
            int dylength = xlsum;
            int length = 5;

            //表格共 行10 列
            rowcount = startrow + 7 * dylength * length;
            colcount = 10;
            //工作表第一行的标题
            title = "表3‑19 "+year+"年铜陵市中压配电设备运行年限统计";
            //工作表名
            sheetname = "表3-19";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 60;
            obj_sheet.Columns[1].Width = 100;
            obj_sheet.Columns[2].Width = 80;
            obj_sheet.Columns[3].Width = 90;
            obj_sheet.Columns[4].Width = 80;
            obj_sheet.Columns[5].Width = 80;
            obj_sheet.Columns[6].Width = 80;
            obj_sheet.Columns[7].Width = 80;
            obj_sheet.Columns[8].Width = 80;
            obj_sheet.Columns[9].Width = 80;
            //设定表格行高度

            obj_sheet.Rows[1].Height = 20;
            obj_sheet.Rows[2].Height = 20;
            //写标题行列内容
            Sheet_AddItem(obj_sheet, SxXjName, DY_list);
            //写入数据
            Sheet_AddData(obj_sheet, year, ProjID, SxXjName, DY_list);
            //写入求比例公式
            fc.Sheet_WriteFormula_TwoCol_Percent(obj_sheet, startrow, 4, 7 * dylength, length, startrow, 5);
            fc.Sheet_WriteFormula_TwoCol_Percent(obj_sheet, startrow, 6, 7 * dylength, length, startrow, 7);
            fc.Sheet_WriteFormula_TwoCol_Percent(obj_sheet, startrow, 8, 7 * dylength, length, startrow, 9);
            //锁定表格
            fc.Sheet_Locked(obj_sheet);
        }
Esempio n. 25
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, Hashtable area_key_id, List<string[]> SxXjName)
        {
            //写标题行列内容
            //Sheet_AddItem(obj_sheet, area_key_id, DY_list, SXareaid_List, XJareaid_List);
            //写入数据
            //Sheet_AddData(obj_sheet,year,ProjID, DY_list, SXareaid_List, XJareaid_List);
            //写入公式

            //锁定表格
            fc.Sheet_Locked(obj_sheet);
        }
Esempio n. 26
0
        private void AddItemsCol(FarPoint.Win.Spread.SheetView obj_sheet, int[] TableYearsAry)
        {
            //int[] TableYearsAry = TC.GetTableYears(this.GetType().Name);
            for (int i = 0; i < TableYearsAry.Length; i++)
            {
                obj_sheet.SetValue(2, 6+i,TableYearsAry[i]);
            }

            obj_sheet.AddSpanCell(1, 6, 1, TableYearsAry.Length);
            obj_sheet.SetValue(1, 6, "Ͷ����ݺ�Ͷ����ģ");
        }
Esempio n. 27
0
        public void Sheet_AddData(FarPoint.Win.Spread.SheetView obj_sheet,string ProjID, List<string[]> SxXjName)
        {
            int startrow = 2;
            string tiaojian = "";
            string yeartiaojian = "";
            string GYorZB = "";
            for (int i = 0; i < SxXjName.Count; i++)
            {
                if (SxXjName[i][2] != "合计")
                {
                    for (int col = 2; col < 9; col++)
                    {
                        //2010年装机容量包括09年及以前的年份
                        if (col==2)
                        {
                            yeartiaojian = " CAST(S3 as int )<=2010 ";
                        }
                        //2020年装机容量包括2016到2020年
                        else if (col==8)
                        {
                            yeartiaojian = " CAST(S3 as int ) between 2016 and 2020 ";
                        }
                        //2011到2015每年单独统计
                        else
                        {
                            yeartiaojian = " CAST(S3 as int )=" + (2008 + col);
                        }
                        //计算装机容量
                        tiaojian = " AreaID='" + ProjID + "' and S10!='水电' and S10!='煤电' and S10!='' and " + yeartiaojian + " and S5='" + SxXjName[i][2] + "' and CAST(S1 as int) between 10 and 110";
                        double ZJRLsum = 0;
                        if (Services.BaseService.GetObject("SelectPSP_PowerSubstation_Info_S2", tiaojian) != null)
                        {
                            ZJRLsum = (double)Services.BaseService.GetObject("SelectPSP_PowerSubstation_Info_S2", tiaojian);
                        }
                        obj_sheet.SetValue(startrow + i, col, ZJRLsum);
                    }

                }
                else
                {
                    if (i == 1)
                    {
                        //写入县级合计部分公式
                        fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow + 2, 2, 4, 1, startrow + 1, 2, 7);
                    }
                    else
                    {
                        //写入全地区合计公式
                        fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow, 2, 2, 1, startrow + i, 2, 7);
                    }
                }
            }
        }
Esempio n. 28
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, Hashtable area_key_id, List<string[]> SxXjName)
        {
            //计算市辖供电区条件
            string SXtiaojianareaid = " ProjectID='" + ProjID + "' and Col1='市区'  group by ID";
            //计算县级供电区条件
            string XJtiaojianareaid = " ProjectID='" + ProjID + "' and Col1='县级'  group by ID";
            //存放市辖供电区分区名
            IList<string> SXareaid_List = Services.BaseService.GetList<string>("SelectPS_Table_AreaWH_ID", SXtiaojianareaid);
            //存放县级供电区分区名
            IList<string> XJareaid_List = Services.BaseService.GetList<string>("SelectPS_Table_AreaWH_ID", XJtiaojianareaid);

            //市辖供电区分区个数
            int SXsum = SXareaid_List.Count;
            //县级供电区分区个数
            int XJsum = XJareaid_List.Count;
            //表标题行数
            int startrow = 2;

            //表格共 行7 列
            rowcount = startrow + (SXsum + XJsum + 2) ;
            colcount = 7;
            //工作表第一行的标题
            title = "附表1  铜陵市最大负荷和电量情况("+year+"年)";
            //工作表名
            sheetname = "表3-3 附表1";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 90;
            obj_sheet.Columns[1].Width = 80;
            obj_sheet.Columns[2].Width = 80;
            obj_sheet.Columns[3].Width = 90;
            obj_sheet.Columns[4].Width = 110;
            obj_sheet.Columns[5].Width = 90;
            obj_sheet.Columns[6].Width = 90;
            //设定表格行高度

            obj_sheet.Rows[1].Height = 40;
            //写标题行内容
            Sheet_AddItem(obj_sheet,area_key_id,SXareaid_List,XJareaid_List);
            //写入求合公式
            fc.Sheet_WriteFormula_RowSum(obj_sheet,startrow+1,2,SXareaid_List.Count,1,startrow,2,5);
            fc.Sheet_WriteFormula_RowSum(obj_sheet,startrow+SXareaid_List.Count+2,2,XJareaid_List.Count,1,startrow+SXareaid_List.Count+1,2,5);

            //锁定表格
            fc.Sheet_Locked(obj_sheet);
            //限制格式
            CellType(obj_sheet);
        }
Esempio n. 29
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName)
        {
            //线路电压等级根据实际情况查询(中压 6 <= 电压<=20)
            string XLDianYatiaojian = " Type='05' and OperationYear!='' and  year(cast(OperationYear as datetime))<=" + year + "  and  LineLength>Length2  and ProjectID='" + ProjID + "' and LineType2='公用' and RateVolt  between 6 and 20 group by RateVolt";
            IList<double> DY_list = Services.BaseService.GetList<double>("SelectPSPDEV_RateVolt", XLDianYatiaojian);
            int xlsum = DY_list.Count;
            //表标题行数
            int startrow = 2;
            //列标题每项行数
            int dylength = xlsum;

            //表格共 行12 列
            rowcount = startrow + 7 * dylength;
            colcount = 12;
            //工作表第一行的标题
            title = "表3‑11  " + year + "年铜陵市中压架空网结构情况";
            //工作表名
            sheetname = "表3-11";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 60;
            obj_sheet.Columns[1].Width = 100;
            obj_sheet.Columns[2].Width = 60;
            obj_sheet.Columns[3].Width = 60;
            obj_sheet.Columns[4].Width = 60;
            obj_sheet.Columns[5].Width = 80;
            obj_sheet.Columns[6].Width = 60;
            obj_sheet.Columns[7].Width = 60;
            obj_sheet.Columns[8].Width = 60;
            obj_sheet.Columns[9].Width = 60;
            obj_sheet.Columns[10].Width = 60;
            obj_sheet.Columns[11].Width = 60;
            //设定表格行高度

            obj_sheet.Rows[1].Height = 40;
            //写标题行列内容
            Sheet_AddItem(obj_sheet, SxXjName, DY_list);
            //写入数据
            Sheet_AddData(obj_sheet, year, ProjID, SxXjName, DY_list);
            //写入公式
            fc.Sheet_WriteFormula_OneCol_Anotercol_nopercent(obj_sheet, startrow, 3, 4, 5, dylength * 7,2);
            fc.Sheet_WriteFormula_OneCol_Anotercol_percent(obj_sheet, startrow, 3, 6, 9, dylength * 7);
            fc.Sheet_WriteFormula_OneCol_Anotercol_percent(obj_sheet, startrow, 3, 7, 10, dylength * 7);
            fc.Sheet_WriteFormula_OneCol_Anotercol_percent(obj_sheet, startrow, 3, 8, 11, dylength * 7);

            //锁定表格
            fc.Sheet_Locked(obj_sheet);
        }
Esempio n. 30
0
        public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName)
        {
            //线路电压等级根据实际情况查询(中压 6 <= 电压<=20)
            string XLDianYatiaojian = " (b.Type='50' or b.Type='51' or b.Type='52') and  b.OperationYear!='' and  year(cast(b.OperationYear as datetime))<=" + year + " and b.ProjectID='" + ProjID + "' and a.LineType2!='' and b.RateVolt  between 6 and 20  group by b.RateVolt order by b.RateVolt";
            IList<double> DY_list = Services.BaseService.GetList<double>("SelectPSPDEV_RateVolt_type50-59", XLDianYatiaojian);
            int xlsum = DY_list.Count;
            //表标题行数
            int startrow = 3;
            //表格共 行11 列
            rowcount = startrow + 7 * xlsum;
            colcount = 11;
            //工作表第一行的标题
            title = "表3‑14  "+year+"年铜陵市中压配电变压器统计情况";
            //工作表名
            sheetname = "表3-14";
            //设定工作表行列值及标题和表名
            fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname);
            //设定表格线
            fc.Sheet_GridandCenter(obj_sheet);
            //设定行列模式,以便写公式使用
            fc.Sheet_Referen_R1C1(obj_sheet);
            //设定表格列宽度
            obj_sheet.Columns[0].Width = 60;
            obj_sheet.Columns[1].Width = 90;
            obj_sheet.Columns[2].Width = 60;
            obj_sheet.Columns[3].Width = 60;
            obj_sheet.Columns[4].Width = 60;
            obj_sheet.Columns[5].Width = 60;
            obj_sheet.Columns[6].Width = 60;
            obj_sheet.Columns[7].Width = 60;
            obj_sheet.Columns[8].Width = 60;
            obj_sheet.Columns[9].Width = 60;
            obj_sheet.Columns[10].Width = 60;
            //设定表格行高度

            obj_sheet.Rows[1].Height = 20;
            obj_sheet.Rows[2].Height = 20;
            //写标题行列内容
            Sheet_AddItem(obj_sheet, SxXjName, DY_list);
            //写入数据
            Sheet_AddData(obj_sheet, year, ProjID, SxXjName, DY_list);
            //写入公式
            fc.Sheet_WriteFormula_OneCol_TwoCol_Threecol_sum(obj_sheet, startrow, 3, 5, 7, DY_list.Count);
            fc.Sheet_WriteFormula_OneCol_TwoCol_Threecol_sum(obj_sheet, startrow + 2 * DY_list.Count, 3, 5, 7, 4 * DY_list.Count);
            fc.Sheet_WriteFormula_OneCol_TwoCol_Threecol_sum(obj_sheet, startrow, 4, 6, 8, DY_list.Count);
            fc.Sheet_WriteFormula_OneCol_TwoCol_Threecol_sum(obj_sheet, startrow + 2 * DY_list.Count, 4, 6, 8, 4 * DY_list.Count);
            fc.Sheet_WriteFormula_OneCol_Anotercol_percent(obj_sheet,startrow,3,9,10,7*DY_list.Count);

            //锁定表格
            fc.Sheet_Locked(obj_sheet);
            //设定格式
            CellType(obj_sheet);
        }