/// <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); }
/// <summary> /// 重绘 /// </summary> /// <param name="FB"></param> /// <param name="obj"></param> /// <param name="strEndYear"></param> private void ReDraw(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string strEndYear) { int IntColCount = 14; int ColCount = 0; for (int i = 0; i < BDZList.Count; ++i) { ColCount += LineList[i].Count; } int IntRowCount = ColCount + 1 + 2 + 3;//标题占3行,分区类型占2行 obj.RowCount = 0; obj.ColumnCount = 0; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 m_PF.LockSheets(obj); string strTitle = "附表6 截至" + strEndYear + "年底铜陵县10kV线路基本情况"; obj.SheetName = strTitle; IntRow = 3; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); 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; case 2: strTitle = " 出口导线型号 "; break; case 3: strTitle = " 架空线长度 "; break; case 4: strTitle = " 电缆线长度 "; break; case 5: strTitle = " 线路总长度 "; break; case 6: strTitle = " 主干线路长度 "; break; case 11: strTitle = " 配变台数 "; break; case 12: strTitle = " 配变容量 "; break; default: break; } if (i == 7) { strTitle = " 公变 "; PF.CreateSheetView(obj, 1, 2, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); PF.CreateSheetView(obj, 1, 1, IntRow + 1, IntCol, "台数"); } else if (i == 8) { PF.CreateSheetView(obj, 1, 1, IntRow + 1, IntCol += 1, "容量"); } else if (i == 9) { strTitle = " 专变 "; PF.CreateSheetView(obj, 1, 2, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); PF.CreateSheetView(obj, 1, 1, IntRow + 1, IntCol, "台数"); } else if (i == 10) { PF.CreateSheetView(obj, 1, 1, IntRow + 1, IntCol += 1, "容量"); } else { PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } } NextRowMerge = 1; NextColMerge = 1; IntRow = 6; IntCol = 0; WriteData(FB, obj, IntRow); }
/// <summary> /// 写入数据 /// </summary> /// <param name="FB"></param> /// <param name="obj"></param> /// <param name="IntRow"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow) { PSP_Substation_Info ppi = null; InitStruct(); int index = 0; int indexCount = 0; int JH = 0; int inttemp = 0; string[] LRData = new string[2];//0,为*号左侧数据,1为*号右侧数据 for (int i = IntRow; i < obj.RowCount; i += indexCount) { ppi = (PSP_Substation_Info)BDZList[index]; if (ppi.L3 > 0) { indexCount = ppi.L3; } else { indexCount = 1; } for (int j = 0; j < obj.ColumnCount; ++j) { switch (j) { case 0: //变电站名称 obj.AddSpanCell((i), j, indexCount, 1); obj.SetValue((i), j, ppi.Title); index++; break; case 1: //主变容量 if (ppi.L4 != "") { JH = ReturnJH(ppi.L4); //得到加号的数量 intercept.JHData = new string[ppi.L3]; ReturnJHOfData(ppi.L4); for (int o = 0; o < ppi.L3; ++o) { for (int n = 0; n < JH; ++n) { LRData = ReturnCHOfData(intercept.JHData[n]); obj.SetValue((i + n), j, LRData[1]); } if (JH < ppi.L3) { LRData = ReturnCHOfData(intercept.JHData[0]); obj.SetValue((i + o), j, LRData[1]); } } intercept.index = 0; } break; case 2: //10kV线路所带负荷 obj.AddSpanCell((i), j, indexCount, 1); obj.Cells[i, j].Locked = false; break; case 3: //需转供负荷 obj.AddSpanCell((i), j, indexCount, 1); obj.Cells[i, j].Formula = "C" + (i + 1) + "-B" + (i + 1); break; case 4: //联络的变电站 obj.AddSpanCell((i), j, indexCount, 1); obj.Cells[i, j].Locked = false; break; case 5: //联络线路条数 obj.AddSpanCell((i), j, indexCount, 1); obj.Cells[i, j].Locked = false; break; case 6: //联络线路能转带的负荷 obj.AddSpanCell((i), j, indexCount, 1); obj.Cells[i, j].Locked = false; break; case 7: //联络变电站能转带的负荷 obj.AddSpanCell((i), j, indexCount, 1); obj.Cells[i, j].Locked = false; break; case 8: //通过联络可转带的负荷 obj.AddSpanCell((i), j, indexCount, 1); obj.Cells[i, j].Locked = false; break; case 9: //通过主变能转带负荷 obj.AddSpanCell((i), j, indexCount, 1); obj.Cells[i, j].Locked = false; break; case 10: //需通过10kV网络转带负荷 obj.AddSpanCell((i), j, indexCount, 1); obj.Cells[i, j].Locked = false; break; case 11: //是否通过 obj.AddSpanCell((i), j, indexCount, 1); obj.SetValue(i, j, ppi.S1); break; default: break; } } } }
/// <summary> /// add BareditItems of years /// </summary> /// <param name="BE">BarEditItem object</param> public void AddBarEditItems(DevExpress.XtraBars.BarEditItem BE, DevExpress.XtraBars.BarEditItem BE1, Itop.Client.Base.FormBase FB) { IList list = SelectProgramme(FB); Ps_forecast_list pfl = null; //BE.EditValue = "2000"; for (int i = 0; i < list.Count; ++i) { pfl = (Ps_forecast_list)list[i]; ((DevExpress.XtraEditors.Repository.RepositoryItemComboBox)BE.Edit).Items.Add(pfl.Title); ((DevExpress.XtraEditors.Repository.RepositoryItemComboBox)BE1.Edit).Items.Add(pfl.ID); } }
/// <summary> /// 重绘 /// </summary> /// <param name="FB"></param> /// <param name="obj"></param> /// <param name="strEndYear"></param> private void ReDraw(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string strEndYear) { obj.RowCount = 0; obj.ColumnCount = 0; int IntColCount = 6; int IntRowCount = list.Count + 1 + 2 + 3;//标题占3行,分区类型占2行 string title = null; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 m_PF.LockSheets(obj); string strTitle = "附表12 截至" + strEndYear + "年底铜陵县电网无功补偿容量统计表"; IntRow = 3; obj.SheetName = strTitle; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); 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; case 2: strTitle = " 电容器型号 "; break; case 3: strTitle = " 容 量 "; break; case 4: strTitle = " 备 注 "; break; default: break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } NextRowMerge = 1; NextColMerge = 1; IntRow = 6; IntCol = 0; WriteData(FB, obj, strEndYear, IntRow); }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_7Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { SelectLine(FB, strYear); int IntColCount = 10; 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 = " 中压线路名"; 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); strTitle = " 电压等级(kV) "; 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); strTitle = " 分段开关数(台)"; 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); strTitle = " 开闭站数(座)"; 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); strTitle = " 电缆分支箱(台)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; WriteData(FB, obj, IntRow, IntCol); PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 写入数据 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { PSPDEV psDev = null; Object Value = null; for (int i = 0; i < list.Count; ++i) { psDev = (PSPDEV)list[i]; SelectBDZ(FB, psDev.Name); for (int j = 0; j < obj.ColumnCount; ++j) { switch (j) { case 0: Value = i + 1; //序号 break; case 1: Value = psDev.Name; //中压线路名 break; case 2: if (BDZ == null) { Value = ""; //BDZ1.Title; } else if (BDZ1 == null) { Value = ""; // BDZ.Title; } else { Value = BDZ.Title + "," + BDZ1.Title; //变电站名 } break; case 3: Value = psDev.RateVolt; //电压等级(kV) break; case 4: Value = psDev.LineType2; //线路属性 break; case 5: //*************************************** //干线长度(km)(A),手写 break; case 6: Value = psDev.Length2 + psDev.LineLength; //线路总长度(km) break; case 7: Value = psDev.Length2; //电缆线路长度(km) break; case 8: Value = psDev.LineLength; //架空线路长度(km) break; case 9: Value = psDev.LineType; //主干线型号 break; case 10: if (psDev.LineLength > psDev.Length2) { Value = "架空"; //架设方式 } else { Value = "电缆"; } break; case 11: Value = psDev.Burthen * 1000; //最大电流(A) break; case 12: Value = psDev.OperationYear; //线路投运时间 break; default: break; } if (j == obj.ColumnCount - 1 || j == 5) { obj.Cells[IntRow + i, j].Locked = false; } else { obj.SetValue(IntRow + i, j, Value);// } } } }
/// <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) { int intTemp = BeginYear; int RowBegin = 4; //行起点 int ColBegin = 2; //列起点 Redraw(obj, BeginYear, EndYear); for (int i = BeginYear; i <= (EndYear + list.Count); ++i) { obj.AddSpanCell(RowBegin, (i - BeginYear + ColBegin), 1, 1); //if(i!=EndYear+list.Count)//和下面eles对应 //{ obj.SetValue(RowBegin, (i - BeginYear + ColBegin), intTemp); if (i == 2006) { obj.SetValue(RowBegin, (i - BeginYear + ColBegin), "“十五”年均增速"); intTemp--; } if (i == (2011 + 1))//中间空一行所以加一 { obj.SetValue(RowBegin, (i - BeginYear + ColBegin), "“十一五”年均增速"); intTemp--; } if (i == (2016 + 2)) { obj.SetValue(RowBegin, (i - BeginYear + ColBegin), "“十二五”年均增速"); intTemp--; } if (i == (2021 + 3)) { obj.SetValue(RowBegin, (i - BeginYear + ColBegin), "“十三五”年均增速"); intTemp--; } // //} // //else//这是预计的列现在先不用 // //{ // // if (i != 2006 && i != (2011 + 1) && i != (2016 + 2) && i != (2021 + 3)) // // { // // obj.SetValue(4, (i - BeginYear + 1), intTemp + "预计"); // // } // // else // // { // // if (i == 2006) // // { // // obj.SetValue(4, (i - BeginYear + 1), "“十五”年均增速"); // // intTemp--; // // } // // if (i == (2011 + 1))//中间空一行所以加一 // // { // // obj.SetValue(4, (i - BeginYear + 1), "“十一五”年均增速"); // // intTemp--; // // } // // if (i == (2016 + 2)) // // { // // obj.SetValue(4, (i - BeginYear + 1), "“十二五”年均增速"); // // intTemp--; // // } // // if (i == (2021 + 3)) // // { // // obj.SetValue(4, (i - BeginYear + 1), "“十三五”年均增速"); // // intTemp--; // // } // // } // //} intTemp++; } list.Clear(); WriteData(FB, obj, 5); }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_15Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int IntColCount = 13; int IntRowCount = 25 + 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); strTitle = " 项 目 "; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); //行标题 for (int j = 0; j < 2; ++j) { IntRow = 5; if (j == 0) { strTitle = "一"; } else { strTitle = "全社会用电总计"; } PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); if (j == 0) { strTitle = "A"; } else { strTitle = "全行业用电合计"; } PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); if (j == 0) { strTitle = "1"; } else { strTitle = "第一产业"; } PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); if (j == 0) { strTitle = "2"; } else { strTitle = "第二产业"; } PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); if (j == 0) { strTitle = "3"; } else { strTitle = "第三产业"; } PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); if (j == 0) { strTitle = "B"; } else { strTitle = "居民生活用电合计"; } PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); if (j == 0) { strTitle = "二"; } else { strTitle = "全行业用电分类"; } PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); if (j == 0) { strTitle = "1"; PF.CreateSheetView(obj, 2, 1, (IntRow += 1), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); } else { PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "农、林、牧、渔业"); PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "所占百分比(%)"); } if (j == 0) { strTitle = "2"; PF.CreateSheetView(obj, 2, 1, (IntRow += 2), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); } else { PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "工业"); PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "所占百分比(%)"); } if (j == 0) { strTitle = "3"; PF.CreateSheetView(obj, 2, 1, (IntRow += 2), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); } else { PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "建筑业"); PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "所占百分比(%)"); } if (j == 0) { strTitle = "4"; PF.CreateSheetView(obj, 2, 1, (IntRow += 2), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); } else { PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "交通运输、仓储、邮政业"); PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "所占百分比(%)"); } if (j == 0) { strTitle = "5"; PF.CreateSheetView(obj, 2, 1, (IntRow += 2), 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); } else { PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "信息传输、计算机服务和软件业"); PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "所占百分比(%)"); } if (j == 0) { strTitle = "6"; PF.CreateSheetView(obj, 2, 1, (IntRow += 2), 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); } else { PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "商业、住宿和餐饮业"); PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "所占百分比(%)"); } if (j == 0) { strTitle = "7"; PF.CreateSheetView(obj, 2, 1, (IntRow += 2), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); } else { PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "金融、房地产、商务及居民服务业"); PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "所占百分比(%)"); } if (j == 0) { strTitle = "8"; PF.CreateSheetView(obj, 2, 1, (IntRow += 2), j, strTitle); PF.SetSheetViewColumnsWidth(obj, j, strTitle); } else { PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "公共事业及管理组织"); PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, "所占百分比(%)"); } if (j == 0) { strTitle = "9"; PF.CreateSheetView(obj, 1, 1, (IntRow += 2), j, strTitle); obj.Columns[0].Width = 60; } else { strTitle = "合计"; PF.CreateSheetView(obj, 1, 1, (IntRow += 1), j, strTitle); obj.Columns[1].Width = 200; } } NextRowMerge = 1; NextColMerge = 1; IntRow = 4; IntCol = 0; SetColtitle(obj, IntRow); WriteData(FB, obj, (IntRow + 2)); //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 写入数据 /// </summary> /// <param name="FB"></param> /// <param name="obj"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow) { string strRowTitle = null; string strColTitle = null; Ps_History ps1 = null; //全社会用电总计 Ps_History ps2 = null; //全行业用电合计 Ps_History ps3 = null; //全行业用电分类 ps1 = ReturnStrID(FB, "全社会用电量(亿kWh)"); //全社会用电总计 ps2 = ReturnStrID(FB, "全行业用电合计"); //全行业用电合计 ps3 = ReturnStrID(FB, "全行业用电分类"); //全行业用电分类 for (int i = IntRow; i < obj.RowCount; ++i) { strRowTitle = PF.ReturnStr(obj, (i), 1).ToString(); for (int j = 2; j < obj.ColumnCount; ++j) { strColTitle = obj.GetValue((4), j).ToString(); if (strColTitle == "“十五”年均增长率" || strColTitle == "“十一五”年均增长率" || strColTitle == "“十二五”年均增长率" || strColTitle == "“十三五”年均增长率") { if (strColTitle == "“十五”年均增长率") { if (strRowTitle != "所占百分比(%)") { obj.Cells[i, j].Formula = "POWER(" + PF.GetColumnTitle(j - 1) + (i + 1) + "/" + PF.GetColumnTitle(j - 6) + (i + 1) + ",1/5)-1"; } } else { obj.Cells[i, j].Formula = "POWER(" + PF.GetColumnTitle(j - 1) + (i + 1) + "/" + PF.GetColumnTitle(j - 5) + (i + 1) + ",1/5)-1"; } obj.Cells[i, j].CellType = PC;//% } else { if (strRowTitle == "所占百分比(%)") { obj.Cells[i, j].Formula = PF.GetColumnTitle(j) + (i) + "/" + PF.GetColumnTitle(j) + (8); obj.Cells[i, j].CellType = PC;//% } else if (strRowTitle == "合计") { obj.Cells[i, j].Formula = "SUM(" + PF.GetColumnTitle(j) + (14) + "," + PF.GetColumnTitle(j) + (16) + "," + PF.GetColumnTitle(j) + (18) + "," + PF.GetColumnTitle(j) + (20) + "," + PF.GetColumnTitle(j) + (22) + "," + PF.GetColumnTitle(j) + (24) + "," + PF.GetColumnTitle(j) + (26) + "," + PF.GetColumnTitle(j) + (28) + ")"; } else if (strRowTitle == "公共事业及管理组织") { obj.Cells[i, j].Formula = PF.GetColumnTitle(j) + (8) + "-" + PF.GetColumnTitle(j) + (14) + "-" + PF.GetColumnTitle(j) + (16) + "-" + PF.GetColumnTitle(j) + (18) + "-" + PF.GetColumnTitle(j) + (20) + "-" + PF.GetColumnTitle(j) + (22) + "-" + PF.GetColumnTitle(j) + (24) + "-" + PF.GetColumnTitle(j) + (26); } else { obj.SetValue(i, j, SelectCurrentData(FB, strColTitle, strRowTitle, ps1, ps2, ps3)); } } } } }
/// <summary> /// 选中下拉菜单中的数据连接数据库表,方案 /// </summary> /// <param name="BE"></param> public void SelectEditChange(FarPoint.Win.Spread.SheetView tempSheet, object obj, Itop.Client.Base.FormBase FB) { //string strTitle = null; string strID = obj.ToString(); string[] AreaType1 = new string[2]; AreaType1[0] = "市辖供电区"; AreaType1[1] = "县级供电区"; //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, AreaType1[0]); //市辖 CountyID = SelectID(strID, AreaType1[1]); //县级 SelectDQ(CityID, AreaType1[0]); SelectDQ(CountyID, AreaType1[1]); SetLeftTitle(tempSheet, 5, 0); //左侧标题 WriteData(tempSheet, 5, 0); //数据 PF.Sheet_GridandCenter(tempSheet); //画边线,居中 S10_1.ColReadOnly(tempSheet, tempSheet.Columns.Count); PF.SetWholeRowHeight(tempSheet, tempSheet.Rows.Count, tempSheet.Columns.Count); //行高 } catch (System.Exception e) { MessageBox.Show(e.Message); } }
////////////////////////////////////////////////////////////////////////// /// <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) { int IntColCount = 5; int IntRowCount = 7 + 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);//画边线,居中 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); //右对齐 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); strTitle = " GDP"; PF.CreateSheetView(obj, NextRowMerge -= 1, NextColMerge, IntRow += 2, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "人均GDP"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow += 1, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 第一产业比重"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow += 1, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "第二产业比重"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow += 1, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "第三产业比重"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow += 1, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 总 人 口 "; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow += 1, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_4Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { SelectPW(FB, strYear); int IntColCount = 9; 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)s"; 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); strTitle = " 起点变电站名 "; 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); strTitle = " 导线型号"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 线路长度(km)"; 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); strTitle = " 所在分区"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; WriteData(FB, obj, IntRow, IntCol); PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 设置sheet_1的年份 /// </summary> /// <param name="obj">对象</param> /// <param name="firstyear">起始年份</param> /// <param name="endyear">结束年份</param> /// <param name="YearsCount">要显示几年的数据</param> /// <param name="IntRow">要写入的起始行数</param> /// <param name="IntCol">要写入的起始列数</param> /// <param name="RowStep">要合并单元格行的数量</param> /// <param name="ColStep">要合并单元格列的数量</param> private void SetYearsSheet2_1(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int firstyear, int endyear, int YearsCount, int IntRow, int IntCol, int RowStep, int ColStep) { GolobalYears = 0; string Title = null; string Title1 = ""; string SingleTitle = "全地区GDP(亿元)"; int TempYear = firstyear; for (int i = IntRow; i < ((YearsCount + IntRow)); i++) { if ((YearsCount + IntRow - 2) == i) { Title = "“十五”年均增长率"; PF.CreateSheetView(obj, RowStep, ColStep, ((i - GolobalYears)), IntCol, Title); //PF.SetRowHight(obj, ((i - GolobalYears)), IntCol, Title); FifteenYears(obj, (i - GolobalYears), IntCol); } else if ((YearsCount + IntRow - 1) == i) { if (TempYear < 2011) //这里写2011要注意 { Title = "2006-2009年均增长率"; ElevenFiveYear(obj, Title, (i - GolobalYears), IntCol); } else { Title = "“十一五”年均增长率"; ElevenFiveYear(obj, Title, (i - GolobalYears), IntCol); } PF.CreateSheetView(obj, RowStep, ColStep, ((i - GolobalYears)), IntCol, Title); PF.SetSheetViewColumnsWidth(obj, IntCol, Title1); //PF.SetRowHight(obj, ((i - GolobalYears)), IntCol, Title); } else { Title = TempYear + " 年"; if (TempYear != 2001 && TempYear != 2002 && TempYear != 2003 && TempYear != 2004) { PF.CreateSheetView(obj, RowStep, ColStep, ((i - GolobalYears)), IntCol, Title); Title1 = "一产"; SingleTitle = "全地区GDP(亿元)"; ViewSheet2_1Data(obj, Title1, FB, TempYear, ((i - GolobalYears)), (IntCol + 1), SingleTitle); SetCellType(obj, PC, (i - GolobalYears), IntCol + 1); //PF.SetRowHight(obj, ((i - GolobalYears)), IntCol+1, Title); Title1 = "二产"; ViewSheet2_1Data(obj, Title1, FB, TempYear, ((i - GolobalYears)), (IntCol + 2), SingleTitle); SetCellType(obj, PC, (i - GolobalYears), IntCol + 2); Title1 = "三产"; ViewSheet2_1Data(obj, Title1, FB, TempYear, ((i - GolobalYears)), (IntCol + 3), SingleTitle); SetCellType(obj, PC, (i - GolobalYears), IntCol + 3); SingleTitle = ""; Title1 = "城镇人口(万人)"; ViewSheet2_1Data(obj, Title1, FB, TempYear, ((i - GolobalYears)), (IntCol + 6), SingleTitle); //PF.SetRowHight(obj, ((i - GolobalYears)), (IntCol + 6), Title1); Title1 = "乡村人口(万人)"; ViewSheet2_1Data(obj, Title1, FB, TempYear, ((i - GolobalYears)), (IntCol + 7), SingleTitle); //PF.SetRowHight(obj, ((i - GolobalYears)), (IntCol + 6), Title1); Title1 = "年末总人口(万人)"; AccountPopulation(obj, TempYear, ((i - GolobalYears)), (IntCol + 4)); //PF.SetRowHight(obj, ((i - GolobalYears)), (IntCol + 6), Title1); Title1 = "人均GDP(万元/人)"; PerCapitaGDP(obj, FB, Title1, TempYear, ((i - GolobalYears)), (IntCol + 5)); //PF.SetRowHight(obj, ((i - GolobalYears)), (IntCol + 6), Title1); Title1 = "城镇化率(%)"; AccountUrbanizationRate(obj, TempYear, ((i - GolobalYears)), (IntCol + 8)); SetCellType(obj, PC, (i - GolobalYears), IntCol + 8); //PF.SetRowHight(obj, ((i - GolobalYears)), (IntCol + 8), Title1); } else { GolobalYears += 1; //年份没有数据的总和 } resualt.Clear(); ++TempYear; } } }
/// <summary> /// 显示数据 /// </summary> private void ViewSheet2_1Data(FarPoint.Win.Spread.SheetView obj, string Title, Itop.Client.Base.FormBase FB, int FistYear, int IntRow, int IntCol, string SingleTitle) { string Temp = "y" + FistYear.ToString(); Ps_History psp_Type = new Ps_History(); psp_Type.Forecast = IntType; psp_Type.Col4 = FB.ProjectUID; //IList<Ps_History> listTypes = Itop.Client.Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type); //dataTable = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History)); // for (int i = 0; i < YearCount ; i++) // { // if (dataTable.Columns[i].Caption == Temp) // MessageBox.Show(listTypes[i]=Temp); // } string con = null; Ps_History GDP1 = null; //if (Title != "年末总人口(万人)" && Title != "城镇化率(%)") //{ if ((Title == "一产") || (Title == "二产") || (Title == "三产")) { //con = "Title='" + SingleTitle + "'AND Col4='" + FB.ProjectUID + "'AND Forecast='" + IntType + "'"; //GDP1 = (Ps_History)Services.BaseService.GetObject("SelectPs_HistoryByCondition", con); //TwoParentID = GDP1.ID; //if (Title == "一产") //{ // resualt.Add(SingleTitle, GDP1); //} //con = "Title='" + Title + "'AND Col4='" + FB.ProjectUID + "'AND Forecast='" + IntType + "'"; //con += "AND ParentID='" + TwoParentID + "'"; //GDP1 = (Ps_History)Services.BaseService.GetObject("SelectPs_HistoryByCondition", con); //resualt.Add(Title, GDP1); } else { con = "Title='" + Title + "'AND Col4='" + FB.ProjectUID + "'AND Forecast='" + IntType + "'"; GDP1 = (Ps_History)Services.BaseService.GetObject("SelectPs_HistoryByCondition", con); resualt.Add(Title, GDP1); } ////判断是否年份中有数字,没有就不显示 //if (Gethistroyvalue<Ps_History>(resualt[Title], Temp) > 0.0000 || Gethistroyvalue<Ps_History>(resualt[Title], Temp) <0.0000) if (FistYear != 2001 && FistYear != 2002 && FistYear != 2003 && FistYear != 2004) { if ((Title == "一产") || (Title == "二产") || (Title == "三产")) { floatSum[4] = SumTertiaryIndustry(SingleTitle, FB, Temp, Title); obj.SetValue(IntRow, IntCol, ((PF.Gethistroyvalue <Ps_History>(resualt[Title], Temp)) / floatSum[4])); } else { obj.SetValue(IntRow, IntCol, PF.Gethistroyvalue <Ps_History>(resualt[Title], Temp)); } } //} }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_4Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int IntColCount = 16; 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); //右对齐 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 < 15; ++i) { switch (i) { case 0: strTitle = "变电站名称"; break; case 1: strTitle = "主变容量构成"; break; case 2: strTitle = "主变容量"; break; case 3: strTitle = "电压变比"; break; case 4: strTitle = "变电站高压侧主接线模式"; break; case 5: strTitle = "变电站中压侧主接线模式"; break; case 6: strTitle = "变电站低压侧主接线模式"; break; case 7: strTitle = "110kV出线回路"; break; case 8: strTitle = "35kV出线回路"; break; case 9: strTitle = "10kV出线回路"; break; case 10: strTitle = "无功补偿容量"; break; case 11: strTitle = "投运日期(年.月)"; break; case 12: strTitle = "所属分区"; break; case 13: strTitle = "2009年最大负荷"; break; case 14: strTitle = "负载率"; break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } //行标题 strTitle = "110kV"; PF.CreateSheetView(obj, NextRowMerge -= 1, NextColMerge, IntRow += 2, IntCol -= 15, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); for (int i = 0; i < 4; ++i) { switch (i) { case 0: strTitle = "小计"; break; case 1: strTitle = "35kV"; break; case 2: strTitle = "小计"; break; case 3: strTitle = "合计"; break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow += 1, IntCol, strTitle); //PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_8Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title, bool IsTrue) { strVoleitleClass[0] = "110(66)"; strVoleitleClass[1] = "35"; selectAreaName(FB); int IntColCount = 10; int IntRowCount = AreaName[0].Count * VoltileClass + AreaName[1].Count * VoltileClass + 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 = " 分区名称"; 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); strTitle = " 2010年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "2011年"; 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 = " 2013年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2014年"; 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 = " 2020年"; 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(FB, obj, IntRow, IntCol); } else { ComparisonData(obj, 5, 3); WriteData(FB, obj, IntRow, IntCol); } PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_14Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int temp = 0; int IntColCount = 2; 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, 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; default: break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } //行标题 IntRow = 5; for (int i = 0; i < 6; ++i) { for (int j = 0; j < 2; ++j) { switch (j) { case 0: temp = i + 1; strTitle = temp.ToString(); break; case 1: if (i == 0) { strTitle = " 全社会用电量 "; } if (i == 1) { strTitle = " 全社会最大负荷 "; } if (i == 2) { strTitle = " 网供电量 "; } if (i == 3) { strTitle = " 售电量 "; } if (i == 4) { strTitle = " 网供最大负荷 "; } if (i == 5) { strTitle = " 网供最大负荷利用小时 "; } break; default: break; } PF.CreateSheetView(obj, 1, 1, (IntRow + i), j, strTitle); PF.SetSheetViewColumnsWidth(obj, 1, strTitle); } } NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 写入数据 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { Ps_Table_TZGS pTT = null; string strTitle = null; string strDQ = null; string temp = null; Object Value = null; int index = 0; for (int i = 0; i < obj.RowCount - IntRow; i += AreaValue.Count * projectVC) { strTitle = PF.ReturnStr(obj, IntRow + i, 0).ToString(); //县级还是市辖 strDQ = PF.ReturnStr(obj, IntRow + i, 1).ToString(); //分区 SelectValue(FB, strTitle, strDQ); index = 0; for (int v = 0; v < AreaValue.Count * projectVC; v += projectVC) { pTT = (Ps_Table_TZGS)AreaValue[index]; temp = pTT.BianInfo.Substring(0, pTT.BianInfo.IndexOf("@", 0, pTT.BianInfo.Length));//电压等级 PF.CreateSheetView(obj, projectVC, 1, IntRow + i + v, 2, temp); index++; for (int n = 0; n < projectVC; ++n)//项目 { PF.CreateSheetView(obj, 1, 1, IntRow + i + v + n, 3, strProject[n]); for (int j = 4; j < obj.ColumnCount; ++j) { Value = 0; switch (j) { case 4: if (pTT.BuildYear == "2010" && n == 0) { Value = pTT.Num1 + pTT.Num3 + pTT.Num5; // } if (pTT.BuildYear == "2010" && n == 1) { Value = pTT.Num2 + pTT.Num4 + pTT.Num6; // } break; case 5: //*************************************** if (pTT.BuildYear == "2011" && n == 0) { Value = pTT.Num1 + pTT.Num3 + pTT.Num5; // } if (pTT.BuildYear == "2011" && n == 1) { Value = pTT.Num2 + pTT.Num4 + pTT.Num6; // } break; case 6: if (pTT.BuildYear == "2012" && n == 0) { Value = pTT.Num1 + pTT.Num3 + pTT.Num5; // } if (pTT.BuildYear == "2012" && n == 1) { Value = pTT.Num2 + pTT.Num4 + pTT.Num6; // } break; case 7: if (pTT.BuildYear == "2013" && n == 0) { Value = pTT.Num1 + pTT.Num3 + pTT.Num5; // } if (pTT.BuildYear == "2013" && n == 1) { Value = pTT.Num2 + pTT.Num4 + pTT.Num6; // } break; case 8: if (pTT.BuildYear == "2014" && n == 0) { Value = pTT.Num1 + pTT.Num3 + pTT.Num5; // } if (pTT.BuildYear == "2014" && n == 1) { Value = pTT.Num2 + pTT.Num4 + pTT.Num6; // } break; case 9: if (pTT.BuildYear == "2015" && n == 0) { Value = pTT.Num1 + pTT.Num3 + pTT.Num5; // } if (pTT.BuildYear == "2015" && n == 1) { Value = pTT.Num2 + pTT.Num4 + pTT.Num6; // } break; case 10: obj.Cells[IntRow + i + v + n, j].Formula = "SUM(F" + (IntRow + i + v + n + 1) + ":J" + (IntRow + i + v + n + 1) + ")"; // break; default: break; } if (j != 10) { obj.SetValue(IntRow + i + v + n, j, Value);// } } } } } }
/// <summary> /// 写入数据 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { PSPDEV psDev = null; Object Value = null; for (int i = 0; i < list.Count; ++i) { psDev = (PSPDEV)list[i]; SelectBDZ(FB, psDev.Name); for (int j = 0; j < obj.ColumnCount; ++j) { switch (j) { case 0: Value = i + 1; //序号 break; case 1: Value = psDev.Name; //中压线路名 break; case 2: if (BDZ == null) { Value = ""; //BDZ1.Title; } else if (BDZ1 == null) { Value = ""; // BDZ.Title; } else { Value = BDZ.Title + "," + BDZ1.Title; //变电站名 } break; case 3: Value = psDev.RateVolt; //电压等级(kV) break; case 4: Value = psDev.LineType2; //线路属性 break; case 5: //*************************************** Value = psDev.SwitchNum; //分段开关数(台)就是柱上开关数 break; case 6: //联络开关数(台)手写 break; case 7: Value = SelectLineOfNumber(FB, psDev.SUID, "55"); //开闭站数(座) break; case 8: Value = SelectLineOfNumber(FB, psDev.SUID, "56"); //环网柜数(座) break; case 9: Value = SelectLineOfNumber(FB, psDev.SUID, "58"); //电缆分支箱(台) break; default: break; } if (j == 6) { obj.Cells[IntRow + i, j].Locked = false; } else { obj.SetValue(IntRow + i, j, Value);// } } } }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_14Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { strProject[0] = "台数"; strProject[1] = "容量(MVA)"; selectAreaName(FB); selectAreaCount(FB); int IntColCount = 11; int IntRowCount = AreaCount[0] * projectVC + AreaCount[1] * projectVC + 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 = " 分区名称"; PF.CreateSheetView(obj, NextRowMerge, 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 = " 项 目"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2010年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "2011年"; 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 = " 2013年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2014年"; 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(FB, obj, IntRow, IntCol); WriteData(FB, obj, IntRow, IntCol); PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <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) { SelectedBDZ(FB, strEndYear); //重绘 ReDraw(FB, obj, strEndYear); }
/// <summary> /// 选中下拉菜单中的数据连接数据库表,方案 /// </summary> /// <param name="BE"></param> public void SelectEditChange(FarPoint.Win.Spread.SheetView tempSheet, object obj, Itop.Client.Base.FormBase FB) { //string strTitle = null; string strID = obj.ToString();//方案名称 string[] AreaType1 = new string[2]; //Ps_forecast_list pfl = null; projectID = FB.ProjectUID; //string con1 = "Title='" + strTitle + "' and UserID='" + projectID + "'"; try { //查询下拉菜单所选中的数据 programID = strID; wait = new WaitDialogForm("", "正在加载数据, 请稍候..."); WriteData(FB, tempSheet, 6); //数据 PF.Sheet_GridandCenter(tempSheet); //画边线,居中 m_PF.LockSheets(tempSheet); wait.Close(); } catch (System.Exception e) { MessageBox.Show(e.Message); } }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_12Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int IntColCount = 6; 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; case 2: strTitle = " 电容器型号 "; break; case 3: strTitle = " 容 量 "; break; case 4: 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);//行高 }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_17Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int Temp = 0; int IntColCount = 10; int IntRowCount = 7 + 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 = "2010"; break; case 2: strTitle = "2011"; break; case 3: strTitle = "2012"; break; case 4: strTitle = "2013"; break; case 5: strTitle = "2014"; break; case 6: strTitle = "2015"; break; case 7: strTitle = "“十二五”年均增长率"; break; case 8: strTitle = "2020"; break; default: break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } //行标题 IntRow = 6; for (int i = 0; i < IntRowCount - IntRow; ++i) { Temp = i + 1; strTitle = Temp.ToString(); PF.CreateSheetView(obj, 1, 1, IntRow + i, 0, strTitle); obj.Columns[0].Width = 60; } IntRow = 6; for (int i = 0; i < IntRowCount - IntRow; i++) { if (i == 0) { strTitle = "国民生产总值GDP"; } if (i == 1) { strTitle = "人均GDP"; } if (i == 2) { strTitle = "第一产业比重"; } if (i == 3) { strTitle = "第二产业比重"; } if (i == 4) { strTitle = "第三产业比重"; } if (i == 5) { strTitle = "总人口"; } PF.CreateSheetView(obj, 1, 1, (IntRow + (i)), 1, strTitle); } NextRowMerge = 1; NextColMerge = 1; IntRow = 6; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <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); } }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_15Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { SelectValue_A(FB); SelectValue_B(FB); SelectValue_C(FB); SelectValue_D(FB); int IntColCount = 26; int IntRowCount = Value_C[0].Count + Value_C[1].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 = " 工程名称"; PF.CreateSheetView(obj, NextRowMerge, 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 = "供电区"; PF.CreateSheetView(obj, NextRowMerge -= 1, NextColMerge += 1, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 名 称"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge -= 1, IntRow += 1, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "性 质"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 工程描述"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow -= 1, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 长度(km)架空"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 电缆长度(km)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 中压开关 "; PF.CreateSheetView(obj, NextRowMerge -= 1, NextColMerge += 3, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); for (int i = 0; i < 4; i++) { switch (i) { case 0: strTitle = " 开闭站(座) "; NextColMerge -= 3; IntRow += 1; break; case 1: strTitle = " 环网柜(座) "; IntCol += 1; break; case 2: strTitle = " 柱上开关(台)"; IntCol += 1; break; case 3: strTitle = " 电缆分支箱(台) "; IntCol += 1; break; default: break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } strTitle = " 中压配电"; PF.CreateSheetView(obj, NextRowMerge -= 1, NextColMerge += 3, IntRow -= 1, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); for (int i = 0; i < 4; i++) { switch (i) { case 0: strTitle = " 配电室(座) "; NextColMerge -= 3; IntRow += 1; break; case 1: strTitle = " 箱变(座)"; IntCol += 1; break; case 2: strTitle = " 柱上变(台)"; IntCol += 1; break; case 3: strTitle = " 无功补偿容量(Mvar)"; IntCol += 1; break; default: break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } strTitle = " 低压网配套"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge += 1, IntRow -= 1, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 架空线路(km)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge -= 1, IntRow += 1, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 电缆(km)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 投资(万元)"; PF.CreateSheetView(obj, NextRowMerge += 2, NextColMerge, IntRow -= 1, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 投运时间(年)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 工程属性"; PF.CreateSheetView(obj, NextRowMerge -= 1, NextColMerge += 5, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); for (int i = 0; i < 6; i++) { switch (i) { case 0: strTitle = " 变电站配套送出"; NextColMerge -= 5; IntRow += 1; break; case 1: strTitle = " 配电网切改"; IntCol += 1; break; case 2: strTitle = " 架空线入地"; IntCol += 1; break; case 3: strTitle = " 新农村电气化"; IntCol += 1; break; case 4: strTitle = " 无电区供电"; IntCol += 1; break; case 5: strTitle = " 其 它"; IntCol += 1; break; default: break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; WriteData(obj, IntRow, IntCol); PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_23Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int Temp = 0; int IntColCount = 12; ReturnBDZ(FB); int IntRowCount = ReturnRow(BDZList) + 1 + 2 + 3; //标题占3行,分区类型占2行 int BringIntoPproductionTime = 6; //投产时间的列数 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; //列标题 IntRow = 4; strTitle = "变电站名称"; PF.CreateSheetView(obj, NextRowMerge += 1, 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); strTitle = "10kV线路所带负荷"; 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); strTitle = "联络的变电站"; 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); strTitle = "联络线路能转带的负荷"; 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); strTitle = "通过联络可转带的负荷"; 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); strTitle = "需通过10kV网络转带负荷"; 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 = 6; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 //SetLeftTitle(); WriteData(FB, obj, IntRow); }
/// <summary> /// 写入数据 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { PSPDEV psDev = null; Object Value = null; for (int i = 0; i < list.Count; ++i) { psDev = (PSPDEV)list[i]; SelectBDZ(FB, psDev.Name); for (int j = 0; j < obj.ColumnCount; ++j) { switch (j) { case 0: Value = i + 1; //序号 break; case 1: Value = psDev.Name; //中压线路名 break; case 2: if (BDZ == null) { Value = ""; //BDZ1.Title; } else if (BDZ1 == null) { Value = ""; // BDZ.Title; } else { Value = BDZ.Title + "," + BDZ1.Title; //变电站名 } break; case 3: Value = psDev.RateVolt; //电压等级(kV) break; case 4: Value = psDev.LineType2; //线路属性 break; case 5: Value = psDev.Burthen * 1000; //最大电流(A) break; case 6: if (BDZ1 != null) { if (BDZ1.S4 == "专用") { Value = BDZ1.L3; //专用变总台数(台) } } if (BDZ != null) { if (BDZ.S4 == "专用") { Value = BDZ.L3; //专用变总台数(台) } } if (BDZ != null && BDZ1 != null) { if (BDZ.S4 == "专用" && BDZ1.AreaID == "专用") { Value = BDZ.L3 + BDZ1.L3; } } break; case 7: if (BDZ != null) { if (BDZ.S4 == "专用") { Value = BDZ.L2; //专用变总容量(MVA) } } if (BDZ1 != null) { if (BDZ1.S4 == "专用") { Value = BDZ1.L2; } } if (BDZ != null && BDZ1 != null) { if (BDZ1.S4 == "专用" && BDZ.AreaID == "专用") { Value = BDZ.L2 + BDZ1.L2; } } break; case 8: if (BDZ1 != null) { if (BDZ1.S4 == "公用") { Value = BDZ1.L3; //公用变总台数(台) } } if (BDZ != null) { if (BDZ.S4 == "公用") { Value = BDZ.L3; //公用变总台数(台) } } if (BDZ != null && BDZ1 != null) { if (BDZ.S4 == "公用" && BDZ.AreaID == "公用") { Value = BDZ.L3 + BDZ1.L3; } } break; case 9: if (BDZ != null) { if (BDZ.S4 == "公用") { Value = BDZ.L2; //公用变总容量(MVA) } } if (BDZ1 != null) { if (BDZ1.S4 == "公用") { Value = BDZ1.L2; } } if (BDZ != null && BDZ1 != null) { if (BDZ.S4 == "公用" && BDZ1.S4 == "公用") { Value = BDZ.L2 + BDZ1.L2; } } break; case 10: Value = SelectLineOfNumber(FB, psDev.SUID, "50"); //配电室(座) break; case 11: Value = SelectLineOfNumber(FB, psDev.SUID, "51"); //箱变(座) break; case 12: Value = SelectLineOfNumber(FB, psDev.SUID, "52"); //柱上变(台) break; default: break; } obj.SetValue(IntRow + i, j, Value);// } } }
/// <summary> /// 重绘,写入数据 /// </summary> /// <param name="obj"></param> private void ReDraw(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string strYear) { obj.RowCount = 0; obj.ColumnCount = 0; int list_35Count = list_35.Count; int list_110Count = list_110.Count; int IntColCount = 16; if (list_110Count == 0) { list_110Count = 1; } if (list_35Count == 0) { list_35Count = 1; } int IntRowCount = 3 + list_35Count + list_110Count + 1 + 2 + 3;//标题占3行,分区类型占2行 string title = null; 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 = "附表4 截至" + strYear + "年底铜陵县110(35)kV变电站概况"; obj.SheetName = strTitle; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); IntCol = 1; strTitle = "单位:万千伏安 万千瓦 % "; obj.AddSpanCell(IntRow, 0, 1, obj.Columns.Count); obj.SetValue(IntRow, 0, strTitle); //右对齐 obj.Rows[IntRow].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right; #region //列标题 strTitle = "电压等级"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow += 1, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); for (int i = 0; i < 15; ++i) { switch (i) { case 0: strTitle = "变电站名称"; break; case 1: strTitle = "主变容量构成"; break; case 2: strTitle = "主变容量"; break; case 3: strTitle = "电压变比"; break; case 4: strTitle = "变电站高压侧主接线模式"; break; case 5: strTitle = "变电站中压侧主接线模式"; break; case 6: strTitle = "变电站低压侧主接线模式"; break; case 7: strTitle = "110kV出线回路"; break; case 8: strTitle = "35kV出线回路"; break; case 9: strTitle = "10kV出线回路"; break; case 10: strTitle = "无功补偿容量"; break; case 11: strTitle = "投运日期(年.月)"; break; case 12: strTitle = "所属分区"; break; case 13: strTitle = strYear + "年最大负荷"; break; case 14: strTitle = "负载率"; break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } #endregion #region 行标题 strTitle = "110kV"; if (list_110.Count == 0) { NextRowMerge = 1; } else { NextRowMerge = list_110.Count; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow += 2, IntCol -= 15, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); for (int i = 0; i < 4; ++i) { switch (i) { case 0: strTitle = "小计"; NextRowMerge = 1; if (list_110.Count == 0) { IntRow += 1; } else { IntRow += list_110.Count; } break; case 1: strTitle = "35kV"; if (list_35.Count == 0) { NextRowMerge = 1; IntRow += 1; } else { NextRowMerge = list_35.Count; IntRow += 1; } break; case 2: strTitle = "小计"; NextRowMerge = 1; if (list_35.Count == 0) { IntRow += 1; } else { IntRow += list_35.Count; } break; case 3: strTitle = "合计"; NextRowMerge = 1; IntRow += 1; break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol, strTitle); //PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } #endregion NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 Write110and35(obj); }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_5Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int IntColCount = 11; 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; case 2: strTitle = " 投运年限 "; break; case 3: strTitle = " 线路起讫 "; break; case 4: strTitle = " 线路长度 "; break; case 5: strTitle = " 最大允许输送负荷 "; break; case 6: strTitle = " 最大实际输送负荷 "; break; case 7: strTitle = " 最大实际电量 "; break; case 8: strTitle = " 线路负载率 "; break; case 9: strTitle = " 最大负荷利用小时数 "; 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);//行高 }