/// <summary> /// 写入数据 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> /// <param name="Title"></param> /// <param name="Value"></param> private void WriteValue(FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol, string Title, double Value) { switch (Title) { case "地市名称": obj.SetValue(IntRow, IntCol, "铜陵"); SH2_3.resualt.Clear(); break; case "全地区GDP(亿元)": obj.SetValue(IntRow, IntCol, PF.ReturnFormatStr(Value)); SH2_3.resualt.Clear(); break; case "一产": obj.SetValue(IntRow, IntCol, PF.ReturnFormatStr(Value)); SH2_3.resualt.Clear(); break; case "二产": obj.SetValue(IntRow, IntCol, PF.ReturnFormatStr(Value)); SH2_3.resualt.Clear(); break; case "三产": obj.SetValue(IntRow, IntCol, PF.ReturnFormatStr(Value)); SH2_3.resualt.Clear(); break; default: break; } }
private void SetLeftTitle(FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { IList list = null; if (AreaName[0].Count != 0) { PF.CreateSheetView(obj, AreaName[0].Count, 1, IntRow, 0, "市辖供电区"); } if (AreaName[1].Count != 0) { PF.CreateSheetView(obj, AreaName[1].Count, 1, IntRow + AreaName[0].Count, 0, "县级供电区"); } list = AreaName[0]; PSP_Substation_Info psi = null; for (int i = 0; i < AreaName[0].Count; ++i) { psi = (PSP_Substation_Info)list[i]; obj.SetValue(IntRow + i, 1, psi.AreaName); } list = AreaName[1]; for (int i = 0; i < AreaName[1].Count; ++i) { psi = (PSP_Substation_Info)list[i]; obj.SetValue(IntRow + i + AreaName[0].Count, 1, psi.AreaName); } }
private void ComparisonData(FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { for (int i = IntRow; i < obj.RowCount; i += 10)//行从第IntRow行开始载入 { for (int l = 0; l < SaveList.Count; ++l) { if ((SaveList[l].strType == PF.ReturnStr(obj, i, 0).ToString()) && (SaveList[l].strDQ == PF.ReturnStr(obj, i, 1).ToString())) { for (int j = IntCol; j < obj.ColumnCount; ++j)// { obj.SetValue(i, j, SaveList[l].data[0, j - IntCol]); obj.SetValue(i + 1, j, SaveList[l].data[1, j - IntCol]); obj.SetValue(i + 2, j, SaveList[l].data[2, j - IntCol]); obj.SetValue(i + 3, j, SaveList[l].data[3, j - IntCol]); obj.SetValue(i + 4, j, SaveList[l].data[4, j - IntCol]); obj.SetValue(i + 5, j, SaveList[l].data[5, j - IntCol]); obj.SetValue(i + 6, j, SaveList[l].data[6, j - IntCol]); obj.SetValue(i + 7, j, SaveList[l].data[7, j - IntCol]); obj.SetValue(i + 8, j, SaveList[l].data[8, j - IntCol]); obj.SetValue(i + 9, j, SaveList[l].data[9, j - IntCol]); } SaveList.Remove(SaveList[l]); break; } } } }
private void AddItemsCol(FarPoint.Win.Spread.SheetView obj_sheet, string AreaName, int colstart) { obj_sheet.AddSpanCell(1, colstart, 1, 2); obj_sheet.SetValue(1, colstart, AreaName); obj_sheet.SetValue(2, colstart, "数量"); obj_sheet.SetValue(2, colstart + 1, "比例"); }
/// <summary> /// 左侧标题 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> private void SetLeftTitle(FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { IList list = null; int index = 0; PF.CreateSheetView(obj, AreaName[0].Count * VoltileClass, 1, IntRow, IntCol, "市辖供电区"); PF.CreateSheetView(obj, AreaName[1].Count * VoltileClass, 1, IntRow + AreaName[0].Count * VoltileClass, IntCol, "县级供电区"); list = AreaName[0]; for (int i = 0; i < AreaName[0].Count * VoltileClass; i += 2) { PF.CreateSheetView(obj, VoltileClass, 1, IntRow + i, 1, list[index].ToString()); for (int j = 0; j < VoltileClass; ++j) { obj.SetValue(IntRow + i + j, 2, strVoleitleClass[j]); } index++; } list = AreaName[1]; index = 0; for (int i = 0; i < AreaName[1].Count * VoltileClass; i += 2) { PF.CreateSheetView(obj, VoltileClass, 1, IntRow + AreaName[0].Count * VoltileClass + i, 1, list[index].ToString()); for (int j = 0; j < VoltileClass; ++j) { obj.SetValue(IntRow + AreaName[0].Count * VoltileClass + i + j, 2, strVoleitleClass[j]); } index++; } }
/// <summary> /// 写入数据 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> /// <param name="Title"></param> /// <param name="Value"></param> private void WriteValue(FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol, string Title, object Value) { switch (Title) { case "地市名称": obj.SetValue(IntRow, IntCol, "铜陵"); resualt.Clear(); break; case "2010年(万人)": obj.SetValue(IntRow, IntCol, Value); resualt.Clear(); break; //case "2015年(万人)": // obj.SetValue(IntRow, IntCol, Value); // resualt.Clear(); // break; //case "年均增长率(%)": // obj.SetValue(IntRow, IntCol, Value); // resualt.Clear(); // break; default: break; } }
/// <summary> /// 在左侧标题写入的情况下比较数据,然后写入数据 /// </summary> /// <param name="obj"></param> private void ComparisonData(FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { for (int i = 5; i < obj.RowCount; ++i) { for (int j = 3; j < obj.ColumnCount; ++j) { obj.Cells[i, j].Locked = false;//手写 if (j > 5) { obj.Cells[i, j].CellType = PC;//% } } } for (int i = IntRow; i < obj.RowCount; i += 2)//行从第IntRow行开始载入 { for (int l = 0; l < list.Count; ++l) { if ((list[l].strType == PF.ReturnStr(obj, i, 1).ToString()) && (list[l].strDQ == PF.ReturnStr(obj, i, 2).ToString())) { for (int j = IntCol; j < obj.ColumnCount; ++j)// { obj.SetValue(i, j, list[l].data[0, j - IntCol]); obj.SetValue(i + 1, j, list[l].data[1, j - IntCol]); } list.Remove(list[l]); break; } } } }
/// <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)); } } //} }
private void Sheet_AddData(FarPoint.Win.Spread.SheetView obj_sheet) { int[] TableYearsAry = TC.GetTableYears(this.GetType().Name); int currentyear = TableYearsAry[0]; string tiaojian = ""; int startrow = 3 - 1; tiaojian = " ProjectID='" + ProjectID + "|pro" + "' and ParentID='0' order by Cast(FromID as int) desc"; //用来计算行数 int pro_num = 0; int m = 0; try { //查分类数 IList <Ps_Table_BuildPro> listTypes = Common.Services.BaseService.GetList <Ps_Table_BuildPro>("SelectPs_Table_BuildProByConn", tiaojian); //根据分类查下面的项目数 for (int i = 0; i < listTypes.Count; i++) { //投产年份大于等于当前年份 string tempcon = " ProjectID='" + ProjectID + "|pro" + "' and ParentID='" + listTypes[i].ID + "' and cast(BuildEd as int)>=" + currentyear; IList <Ps_Table_BuildPro> tempptblist = Common.Services.BaseService.GetList <Ps_Table_BuildPro>("SelectPs_Table_BuildProByConn", tempcon); if (tempptblist.Count > 0) { pro_num++; m++; obj_sheet.RowCount = obj_sheet.RowCount + 1; obj_sheet.SetValue(startrow + m, 0, TC.CHNumberToChar(pro_num)); obj_sheet.SetValue(startrow + m, 1, listTypes[i].Title); for (int j = 0; j < tempptblist.Count; j++) { m++; obj_sheet.RowCount = obj_sheet.RowCount + 1; obj_sheet.SetValue(startrow + m, 0, j + 1); obj_sheet.SetValue(startrow + m, 1, tempptblist[j].Title); obj_sheet.SetValue(startrow + m, 2, tempptblist[j].Length); obj_sheet.SetValue(startrow + m, 3, tempptblist[j].Volumn); obj_sheet.SetValue(startrow + m, 4, tempptblist[j].AreaName); obj_sheet.SetValue(startrow + m, 5, tempptblist[j].Flag); obj_sheet.SetValue(startrow + m, 6, Convert.ToInt32(tempptblist[j].BuildEd)); } m++; obj_sheet.RowCount = obj_sheet.RowCount + 1; obj_sheet.AddSpanCell(startrow + m, 0, 1, 2); obj_sheet.SetValue(startrow + m, 0, listTypes[i].Title + "小计"); TC.Sheet_WriteFormula_RowSum(obj_sheet, startrow + m - tempptblist.Count, 2, tempptblist.Count, 1, startrow + m, 2, 2); } } if (m == 0) { TC.WriteQuestion(title, "无规划项目数据", "查询项目管理,看是否有竣工年限大于当前年的数据", ""); } } catch (Exception em) { throw; } }
private void Sheet_AddData(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, List <string[]> SxXjName, IList <double> obj_DY_List) { //添加数据 //条件 string tiaojian = ""; int startrow = 2; int dylenth = obj_DY_List.Count; for (int i = 0; i < SxXjName.Count; i++) { //合计部分不用计算 if (SxXjName[i][2].ToString() != "合计") { for (int j = 0; j < obj_DY_List.Count; j++) { //配电室座数 tiaojian = " b.OperationYear!='' and year(cast(b.OperationYear as datetime))<=" + year + " and b.ProjectID='" + ProjID + "' and b.Type='50' and a.LineType2='公用' and a.DQ='" + SxXjName[i][2] + "' and b.RateVolt=" + obj_DY_List[j]; int PDsum = 0; if (Services.BaseService.GetObject("SelectPSPDEV_Count_type50-59", tiaojian) != null) { PDsum = (int)Services.BaseService.GetObject("SelectPSPDEV_Count_type50-59", tiaojian); } obj_sheet.SetValue(startrow + i * dylenth + j, 3, PDsum); //箱变座数 tiaojian = " b.OperationYear!='' and year(cast(b.OperationYear as datetime))<=" + year + " and b.ProjectID='" + ProjID + "' and b.Type='51' and a.LineType2='公用' and a.DQ='" + SxXjName[i][2] + "' and b.RateVolt=" + obj_DY_List[j]; int XBsum = 0; if (Services.BaseService.GetObject("SelectPSPDEV_Count_type50-59", tiaojian) != null) { XBsum = (int)Services.BaseService.GetObject("SelectPSPDEV_Count_type50-59", tiaojian); } obj_sheet.SetValue(startrow + i * dylenth + j, 4, XBsum); //柱上变(台) tiaojian = " b.OperationYear!='' and year(cast(b.OperationYear as datetime))<=" + year + " and b.ProjectID='" + ProjID + "' and b.Type='52' and a.LineType2='公用' and a.DQ='" + SxXjName[i][2] + "' and b.RateVolt=" + obj_DY_List[j]; int ZBsum = 0; if (Services.BaseService.GetObject("SelectPSPDEV_Count_type50-59", tiaojian) != null) { ZBsum = (int)Services.BaseService.GetObject("SelectPSPDEV_Count_type50-59", tiaojian); } obj_sheet.SetValue(startrow + i * dylenth + j, 5, ZBsum); } } else { //县级合计部分公式 if (i == 1) { fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow + (i + 1) * dylenth, 3, 4, dylenth, startrow + i * dylenth, 3, 3); } //全地区合计部分公式 else { fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow, 3, 2, dylenth, startrow + i * dylenth, 3, 3); } } } }
private void Sheet_AddItem(FarPoint.Win.Spread.SheetView obj_sheet, int row, string DQname) { //写标题列内容 obj_sheet.SetValue(row, 2, "110(66)"); obj_sheet.SetValue(row + 1, 2, "35"); obj_sheet.AddSpanCell(row, 1, 2, 1); obj_sheet.SetValue(row, 1, DQname); }
private void AddItemsRow(FarPoint.Win.Spread.SheetView obj_sheet, string DianYa, int rowstart) { obj_sheet.AddSpanCell(rowstart, 0, 3, 1); obj_sheet.SetValue(rowstart, 0, DianYa + "千伏"); obj_sheet.SetValue(rowstart++, 1, "合计"); obj_sheet.SetValue(rowstart++, 1, "典型接线"); obj_sheet.SetValue(rowstart++, 1, "非典型接线"); }
private void WriteData(FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { int year = 2010; string strYear = null; double Amount = 0; for (int i = 0; i < IntProg; ++i)//市辖 { year = 2010; strYear = S10_1_1.ReturnNext0fStr(obj, IntRow + i, IntCol + 1, 1, 1); for (int j = 2; j < obj.ColumnCount; ++j) { if (j == obj.ColumnCount - 1) { obj.Cells[IntRow + i, IntCol + j].Formula = "SUM(D" + (IntRow + i + 1) + ":H" + (IntRow + i + 1) + ")"; } else { if (i == IntProg) { obj.Cells[IntRow + i, IntCol + j].Formula = "SUM(" + PF.GetColumnTitle(j) + (IntRow + i + 1 - 1) + ":" + PF.GetColumnTitle(j) + (IntRow + i + 1 - 2) + ")"; } else { Amount = SelectProgType(AreaType[0], strYear, year); obj.SetValue(IntRow + i, IntCol + j, Amount); } } year++; } } for (int i = IntProg; i < IntProg * 2; ++i)//县级 { year = 2010; strYear = S10_1_1.ReturnNext0fStr(obj, IntRow + i, IntCol + 1, 1, 1); for (int j = 2; j < obj.ColumnCount; ++j) { if (j == obj.ColumnCount - 1) { obj.Cells[IntRow + i, IntCol + j].Formula = "SUM(D" + (IntRow + i + 1) + ":H" + (IntRow + i + 1) + ")"; } else { if (i == (IntProg * 2 - 1)) { obj.Cells[IntRow + i, IntCol + j].Formula = "SUM(" + PF.GetColumnTitle(j) + (IntRow + i + 1 - 1) + ":" + PF.GetColumnTitle(j) + (IntRow + i + 1 - 2) + ")"; } else { Amount = SelectProgType(AreaType[1], strYear, year); obj.SetValue(IntRow + i, IntCol + j, Amount); } } year++; } } }
private void Sheet_AddData(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, List <string[]> SxXjName, IList <double> obj_DY_List) { //添加数据 //条件 string tiaojian = ""; int startrow = 2; int length = obj_DY_List.Count; if (obj_DY_List.Count > 0) { for (int i = 0; i < SxXjName.Count; i++) { //合计部分不用计算 if (SxXjName[i][2].ToString() != "合计") { for (int j = 0; j < obj_DY_List.Count; j++) { //断路器(台) tiaojian = " a.OperationYear!='' and CAST(a.OperationYear as int)<=" + year + " and a.ProjectID='" + ProjID + "' and a.Type='06' and a.DQ='" + SxXjName[i][2] + "' and b.RateVolt=" + obj_DY_List[j].ToString(); int DLQsum = 0; if (Services.BaseService.GetObject("SelectPSPDEV_CountDLQ", tiaojian) != null) { DLQsum = (int)Services.BaseService.GetObject("SelectPSPDEV_CountDLQ", tiaojian); } obj_sheet.SetValue(startrow + i * length + j, 4, DLQsum); //负荷开关(台) tiaojian = " b.OperationYear!='' and year(cast(b.OperationYear as datetime))<=" + year + " and b.ProjectID='" + ProjID + "' and b.Type='59' and a.LineType2='公用' and a.DQ='" + SxXjName[i][2] + "' and b.RateVolt=" + obj_DY_List[j].ToString(); int FHKGsum = 0; if (Services.BaseService.GetObject("SelectPSPDEV_Count_type50-59", tiaojian) != null) { FHKGsum = (int)Services.BaseService.GetObject("SelectPSPDEV_Count_type50-59", tiaojian); } obj_sheet.SetValue(startrow + i * length + j, 5, FHKGsum); //总开关数(台)(断路器(台)+负荷开关(台)) int ALLKG = DLQsum + FHKGsum; obj_sheet.SetValue(startrow + i * length + j, 3, ALLKG); } } else { //县级合计部分公式 if (i == 1) { fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow + (i + 1) * length, 3, 4, length, startrow + i * length, 3, 4); } //全地区合计部分公式 else { fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow, 3, 2, length, startrow + i * length, 3, 4); } } } } }
/// <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 pif = null; int temp = 1; for (int i = IntRow; i < obj.RowCount; ++i) { pif = (PSP_Substation_Info)list[i - IntRow]; for (int j = 0; j < obj.ColumnCount; ++j) { switch (j) { case 0: //序号 obj.SetValue(i, j, temp); break; case 1: //变电站 obj.SetValue(i, j, pif.Title); break; case 2: //该站所带最大负荷 obj.SetValue(i, j, pif.L9); break; case 3: //主变容量 obj.SetValue(i, j, pif.L2); break; case 4: //N-1需转移的负荷 obj.Cells[i, j].Locked = false; break; case 5: //联络线路可转带负荷 obj.Cells[i, j].Locked = false; break; case 6: //主变能转带负荷 obj.Cells[i, j].Locked = false; break; case 7: //是否通过校验 obj.SetValue(i, j, pif.S1); break; case 8: //损失负荷 obj.Cells[i, j].Locked = false; break; default: break; } } temp++; } }
/// <summary> /// 求出的结果写入文档 /// </summary> /// <param name="obj">SheetView object</param> /// <param name="IntRow">rows</param> /// <param name="IntCol">columns</param> /// <param name="Title">Title</param> private void WriteValue(FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol, string Title, object Value) { switch (Title) { case "地市名称": obj.SetValue(IntRow, IntCol, "铜陵"); resualt.Clear(); break; case "土地面积(km2)": obj.SetValue(IntRow, IntCol, Value); resualt.Clear(); break; case "建成区面积(km2)": obj.SetValue(IntRow, IntCol, Value); resualt.Clear(); break; case "全地区GDP(亿元)": obj.SetValue(IntRow, IntCol, Value); resualt.Clear(); break; case "一产": obj.SetValue(IntRow, IntCol, Value); resualt.Clear(); break; case "二产": obj.SetValue(IntRow, IntCol, Value); resualt.Clear(); break; case "三产": obj.SetValue(IntRow, IntCol, Value); resualt.Clear(); break; case "年末总人口(万人)": obj.SetValue(IntRow, IntCol, Value); break; case "人均GDP(万元/人)": obj.SetValue(IntRow, IntCol, Value); break; case "城镇化率(%)": obj.SetValue(IntRow, IntCol, Value); break; default: break; } }
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, "投产年份和投产规模"); }
/// <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) { PSP_Substation_Info psi = null; int IntColCount = ColBDZlist.Count + 1; int IntRowCount = RowBDZList.Count + 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 = "截至" + strEndYear + "年底铜陵县35kV变电站联络情况"; 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 < ColBDZlist.Count; ++i) { psi = (PSP_Substation_Info)ColBDZlist[i]; obj.AddSpanCell(IntRow, 1 + i, 2, 1); obj.SetValue(IntRow, i + 1, psi.Title); } //行标题 for (int i = 0; i < RowBDZList.Count; ++i) { psi = (PSP_Substation_Info)RowBDZList[i]; obj.SetValue(6 + i, 0, psi.Title); } NextRowMerge = 1; NextColMerge = 1; IntRow = 6; IntCol = 0; WriteData(FB, obj, strEndYear, IntRow); }
private void Sheet_AddItem(FarPoint.Win.Spread.SheetView obj_sheet, Hashtable area_key_id, IList <string> SXareaid_List, IList <string> XJareaid_List) { //2行标题内容 obj_sheet.SetValue(1, 0, "分区类型"); obj_sheet.SetValue(1, 1, "分区名称"); obj_sheet.SetValue(1, 2, "面积(km2)"); obj_sheet.SetValue(1, 3, "网供最大负荷(MW)"); obj_sheet.SetValue(1, 4, "全社会最大用电用负荷(MW)"); obj_sheet.SetValue(1, 5, "网供电量(亿kWh)"); obj_sheet.SetValue(1, 6, "全社会用电量(亿kWh)"); //写标题列内容 //写标题列内容 int startrow = 2; for (int i = 0; i < (2 + SXareaid_List.Count + XJareaid_List.Count); i++) { string areaname = ""; if (i == 0 || i == (SXareaid_List.Count + 1)) { areaname = "合计"; } else { if (i < SXareaid_List.Count + 1) { if (area_key_id[SXareaid_List[i - 1].ToString()] != null) { areaname = area_key_id[SXareaid_List[i - 1].ToString()].ToString(); } else { areaname = ""; } } else { if (area_key_id[XJareaid_List[i - SXareaid_List.Count - 2].ToString()] != null) { areaname = area_key_id[XJareaid_List[i - SXareaid_List.Count - 2].ToString()].ToString(); } else { areaname = ""; } } } obj_sheet.SetValue(startrow + i, 1, areaname); } //写第一列数据 obj_sheet.AddSpanCell(startrow, 0, (SXareaid_List.Count + 1), 1); obj_sheet.SetValue(startrow, 0, "市辖供电区"); obj_sheet.AddSpanCell(startrow + (SXareaid_List.Count + 1), 0, (XJareaid_List.Count + 1), 1); obj_sheet.SetValue(startrow + (SXareaid_List.Count + 1), 0, "县级供电区"); }
/// <summary> /// 左侧标题 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> private void SetLeftTitle(FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { PSP_Substation_Info psi = null; for (int i = 0; i < list.Count; ++i) { psi = (PSP_Substation_Info)list[i]; obj.SetValue(i + IntRow, 0, psi.Title); obj.SetValue(i + IntRow, 1, psi.L1); } }
/// <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) { PSPDEV pdev = null; int temp = 1; double fH = 0.0; for (int i = IntRow; i < obj.RowCount; ++i) { pdev = (PSPDEV)list[i - IntRow]; for (int j = 0; j < obj.ColumnCount; ++j) { switch (j) { case 0: //序号 obj.SetValue(i, j, temp); break; case 1: //变电站 obj.SetValue(i, j, SelectBDZ(FB, pdev.SvgUID)); break; case 2: //线路名称 obj.SetValue(i, j, pdev.Name); break; case 3: //线路负荷 fH = decimal.ToDouble(pdev.Burthen) * pdev.RateVolt * Math.Pow(3, 0.5); obj.SetValue(i, j, fH); break; case 4: //联络模式 obj.SetValue(i, j, pdev.LLFS); break; case 5: //联络线路 obj.Cells[i, j].Locked = false; break; case 6: //损失负荷 obj.Cells[i, j].Locked = false; break; case 7: //校验结果 obj.Cells[i, j].Formula = "F" + (i + 1) + "-1"; break; default: break; } } temp++; } }
/// <summary> /// 本方法用于添加附表中的动态电压列标题,而且地区名是id需要转为name /// </summary> /// <param name="obj_sheet"></param> /// <param name="area_key_id">areaid为key的哈希表</param> /// <param name="startrow">动态列标题起始行号</param> /// <param name="obj_DY_List">动态电压列表</param> /// <param name="SXareaid_List">市辖供电区的areaid列表</param> /// <param name="XJareaid_List">县级供电区的areaid列表</param> public void Sheet_AddItem_FBonlyDY(FarPoint.Win.Spread.SheetView obj_sheet, Hashtable area_key_id, int startrow, IList <double> obj_DY_List, IList <string> SXareaid_List, IList <string> XJareaid_List) { //写标题列内容 int dylength = obj_DY_List.Count; if (obj_DY_List.Count > 0) { for (int i = 0; i < (2 + SXareaid_List.Count + XJareaid_List.Count); i++) { string areaname = ""; if (i == 0 || i == (SXareaid_List.Count + 1)) { areaname = "合计"; } else { if (i < SXareaid_List.Count + 1) { if (area_key_id[SXareaid_List[i - 1].ToString()] != null) { areaname = area_key_id[SXareaid_List[i - 1].ToString()].ToString(); } else { areaname = ""; } } else { if (area_key_id[XJareaid_List[i - SXareaid_List.Count - 2].ToString()] != null) { areaname = area_key_id[XJareaid_List[i - SXareaid_List.Count - 2].ToString()].ToString(); } else { areaname = ""; } } } for (int j = 0; j < obj_DY_List.Count; j++) { obj_sheet.SetValue(startrow + i * dylength + j, 2, obj_DY_List[j].ToString()); } obj_sheet.AddSpanCell(startrow + i * dylength, 1, dylength, 1); obj_sheet.SetValue(startrow + i * dylength, 1, areaname); } //写第一列数据 obj_sheet.AddSpanCell(startrow, 0, (SXareaid_List.Count + 1) * dylength, 1); obj_sheet.SetValue(startrow, 0, "市辖供电区"); obj_sheet.AddSpanCell(startrow + (SXareaid_List.Count + 1) * dylength, 0, (XJareaid_List.Count + 1) * dylength, 1); obj_sheet.SetValue(startrow + (SXareaid_List.Count + 1) * dylength, 0, "县级供电区"); } }
/// <summary> /// 写入数据 /// </summary> /// <param name="FB"></param> /// <param name="obj"></param> /// <param name="strEndYear"></param> /// <param name="IntRow"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string strEndYear, int IntRow) { PSPDEV pdev = null; PSP_Substation_Info psi = null; int Temp = 1; for (int i = IntRow; i < obj.RowCount; ++i) { psi = (PSP_Substation_Info)list[i - IntRow]; pdev = SelectedDRQ(FB, psi.UID, strEndYear); for (int j = 0; j < obj.ColumnCount; ++j) { switch (j) { case 0: //序号 obj.SetValue(i, j, Temp); break; case 1: //安装地点 obj.SetValue(i, j, psi.Title); break; case 2: //电压 obj.SetValue(i, j, psi.L1); break; case 3: //电容器型号 if (pdev != null) { obj.SetValue(i, j, pdev.LineType); } break; case 4: //容量 if (pdev != null) { obj.SetValue(i, j, pdev.Burthen); } break; case 5: //备注 obj.Cells[i, j].Locked = false; break; default: break; } } Temp++; } }
public void Build_Sheet(FarPoint.Win.Spread.SheetView obj_sheet) { //表格共9 行10 列 rowcount = 9; colcount = 10; //工作表第一行的标题 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 = 120; //设定表格行高度 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, 2); obj_sheet.AddSpanCell(1, 2, 1, 2); obj_sheet.SetValue(1, 2, "全市"); //3行标题内容 obj_sheet.SetValue(2, 2, "数量"); obj_sheet.SetValue(2, 3, "比例"); //写标题列内容 //1列标题内容 //2列标题内容 //添加数据 Sheet_AddData(obj_sheet); //设定表格线 TC.Sheet_GridandCenter(obj_sheet); //锁定表格 TC.Sheet_Locked(obj_sheet); }
private void AddItems(FarPoint.Win.Spread.SheetView obj_sheet, string Area, int rowstart) { obj_sheet.AddSpanCell(rowstart, 0, 9, 1); obj_sheet.SetValue(rowstart, 0, Area); obj_sheet.SetValue(rowstart++, 1, "国内生产总值(亿元)"); obj_sheet.SetValue(rowstart++, 1, "第一产业"); obj_sheet.SetValue(rowstart++, 1, "第二产业"); obj_sheet.SetValue(rowstart++, 1, "第三产业"); obj_sheet.SetValue(rowstart++, 1, "人口(万人)"); obj_sheet.SetValue(rowstart++, 1, "人均GDP(万元)"); obj_sheet.SetValue(rowstart++, 1, "行政面积(平方千米)"); obj_sheet.SetValue(rowstart++, 1, "建成区面积(平方千米)"); obj_sheet.SetValue(rowstart++, 1, "城镇化率(%)"); }
private void Sheet_AddItem(FarPoint.Win.Spread.SheetView obj_sheet, IList <string> SXareaid_List, IList <string> XJareaid_List) { //2行标题内容 obj_sheet.SetValue(1, 0, "分区类型"); obj_sheet.SetValue(1, 1, "分区名称"); obj_sheet.SetValue(1, 2, "电厂名称"); obj_sheet.SetValue(1, 3, "电厂类型"); obj_sheet.SetValue(1, 4, "并网电压等级(kV)"); obj_sheet.SetValue(1, 5, "装机容量(MW)"); obj_sheet.SetValue(1, 6, "发电量(亿kWh)"); obj_sheet.SetValue(1, 7, "发电利用小时数(小时)"); obj_sheet.SetValue(1, 8, "厂用电(万kWh)"); obj_sheet.SetValue(1, 9, "统调(是/否)"); }
public void Build_Sheet(FarPoint.Win.Spread.SheetView obj_sheet) { //工作表有关年份 int[] TableYearsAry = TC.GetTableYears(this.GetType().Name); //表格共29 行8 列 rowcount = 29; colcount = 2 + TableYearsAry.Length + 1; //工作表第一行的标题 title = TC.GetTableTitle(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 = 150; //设定表格行高度 obj_sheet.Rows[0].Height = 20; obj_sheet.Rows[1].Height = 20; //写标题行内容 //2行标题内容 obj_sheet.SetValue(1, 0, "分区"); obj_sheet.SetValue(1, 1, "指标名称"); for (int i = 0; i < TableYearsAry.Length; i++) { obj_sheet.SetValue(1, 2 + i, TableYearsAry[i]); obj_sheet.Columns[2 + i].Width = 60; } obj_sheet.SetValue(1, 2 + TableYearsAry.Length, "年均增长率(%)"); obj_sheet.Columns[2 + TableYearsAry.Length].Width = 120; //写标题列内容 //添加数据 Sheet_AddData(obj_sheet); //设定表格线 TC.Sheet_GridandCenter(obj_sheet); //锁定表格 TC.Sheet_Locked(obj_sheet); }
private void Sheet_AddItem(FarPoint.Win.Spread.SheetView obj_sheet, Hashtable area_key_id, IList <string> obj_DY_List, IList <string> SXareaid_List, IList <string> XJareaid_List) { //写标题行内容 //2行标题内容 obj_sheet.SetValue(1, 0, "分区类型"); obj_sheet.SetValue(1, 1, "分区名称"); obj_sheet.SetValue(1, 2, "低压线路类型"); obj_sheet.SetValue(1, 3, "导线截面(mm2)"); //写标题列内容 int dylength = obj_DY_List.Count; int startrow = 2; for (int i = 0; i < (2 + SXareaid_List.Count + XJareaid_List.Count); i++) { string areaname = ""; if (i == 0 || i == (SXareaid_List.Count + 1)) { areaname = "合计"; } else { if (i < SXareaid_List.Count + 1) { if (area_key_id[SXareaid_List[i - 1].ToString()] != null) { areaname = area_key_id[SXareaid_List[i - 1].ToString()].ToString(); } else { areaname = ""; } } else { if (area_key_id[XJareaid_List[i - SXareaid_List.Count - 2].ToString()] != null) { areaname = area_key_id[XJareaid_List[i - SXareaid_List.Count - 2].ToString()].ToString(); } else { areaname = ""; } } } for (int j = 0; j < obj_DY_List.Count; j++) { obj_sheet.SetValue(startrow + i * dylength + j, 2, obj_DY_List[j].ToString()); } obj_sheet.AddSpanCell(startrow + i * dylength, 1, dylength, 1); obj_sheet.SetValue(startrow + i * dylength, 1, areaname); } //写第一列数据 obj_sheet.AddSpanCell(startrow, 0, (SXareaid_List.Count + 1) * dylength, 1); obj_sheet.SetValue(startrow, 0, "市辖供电区"); obj_sheet.AddSpanCell(startrow + (SXareaid_List.Count + 1) * dylength, 0, (XJareaid_List.Count + 1) * dylength, 1); obj_sheet.SetValue(startrow + (SXareaid_List.Count + 1) * dylength, 0, "县级供电区"); }
/// <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 ID = null; //东部,中部,南部地区id string ProID = null; //项目的id号 string strRowTitleDQ = null; //地区名 string strRowTitleProject = null; //项目名称 string strColTitle = null; for (int i = IntRow; i < obj.RowCount; ++i) { strRowTitleDQ = PF.ReturnStr(obj, i, 0).ToString(); strRowTitleProject = obj.GetValue(i, 1).ToString(); ID = ReturnID(FB, strRowTitleDQ); ProID = ReturnProjectID(FB, strRowTitleProject, ID); for (int j = 2; j < obj.ColumnCount; ++j) { strColTitle = obj.GetValue(IntRow - 2, j).ToString(); if (strColTitle == " “十五”年均增长率 ") { obj.Cells[i, j].Formula = "POWER(" + PF.GetColumnTitle(j - 1) + (i + 1) + "/" + PF.GetColumnTitle(j - 6) + (i + 1) + ",1/5)-1"; obj.Cells[i, j].CellType = PC; } else { obj.SetValue(i, j, ReturnValue(FB, ProID, strColTitle)); } } } }
public void WriteData(FarPoint.Win.Spread.SheetView obj_sheet) { if (SDL318_19.Count != 0) { //市辖部分的行号 int SXrow = fc.Sheet_Find_Value(obj_sheet, 0, "市辖供电区"); ////市辖供电区中第一行第二列的“合计”部分合并的行数就是电压等级数 //int newdysum = obj_sheet.Cells[SXrow, 1].RowSpan; int newdysum = 1; for (int row = SXrow + newdysum; row < obj_sheet.RowCount; row++) { string dq = fc.Sheet_find_Rownotemptycell(obj_sheet, row, 0); string areaname = fc.Sheet_find_Rownotemptycell(obj_sheet, row, 1); for (int i = 0; i < SDL318_19.Count; i++) { if (dq == SDL318_19[i].DQ && areaname == SDL318_19[i].areaname) { for (int col = 2; col < 6; col++) { obj_sheet.SetValue(row, col, SDL318_19[i].data[col - 2]); } SDL318_19.Remove(SDL318_19[i]); break; } } } } }
private void recreatsheetbydt(string title, System.Data.DataTable dt, Dictionary<string, Columqk> viscol, int sheetindex) { FarPoint.Win.Spread.SheetView Sheet1 = new FarPoint.Win.Spread.SheetView(); if (fpSpread1.Sheets.Count-1>=sheetindex) { Sheet1 = fpSpread1.Sheets[sheetindex]; } else { Sheet1.SheetName = title; fpSpread1.Sheets.Add(Sheet1); } if (Sheet1.Rows.Count>0) { Sheet1.RowCount = 0; Sheet1.ColumnCount = 0; } Sheet1.Columns.Count = viscol.Count; Sheet1.Rows.Count = dt.Rows.Count + 1; //设表格线和居中 fc.Sheet_GridandCenter(Sheet1); //设表格模式为R1C1 fc.Sheet_Referen_R1C1(Sheet1); int visrowcount = 0; if (dt.Rows.Count > 0) { foreach (KeyValuePair<string, Columqk> kp in viscol) { for (int j = 0; j < dt.Columns.Count; j++) { if (kp.Key == dt.Columns[j].ColumnName) { Sheet1.SetValue(0, visrowcount, viscol[dt.Columns[j].ColumnName].colname); Sheet1.Columns[visrowcount].Width = 70; if (viscol[dt.Columns[j].ColumnName].CellType == 1) { Sheet1.Columns[visrowcount].CellType = new FarPoint.Win.Spread.CellType.PercentCellType(); } else if (viscol[dt.Columns[j].ColumnName].CellType == 2) { FarPoint.Win.Spread.CellType.NumberCellType newcelltype = new FarPoint.Win.Spread.CellType.NumberCellType(); newcelltype.DecimalPlaces = viscol[dt.Columns[j].ColumnName].weishu; Sheet1.Columns[visrowcount].CellType = newcelltype; } for (int k = 0; k < dt.Rows.Count; k++) { Sheet1.SetValue(k + 1, visrowcount, dt.Rows[k][j].ToString()); } visrowcount++; } } } //for (int i = 0; i < dt.Columns.Count; i++) //{ // if (viscol.ContainsKey(dt.Columns[i].ColumnName)) // { // Sheet1.SetValue(0, visrowcount, viscol[dt.Columns[i].ColumnName].colname); // Sheet1.Columns[visrowcount].Width = 70; // if (viscol[dt.Columns[i].ColumnName].CellType == 1) // { // Sheet1.Columns[visrowcount].CellType = new FarPoint.Win.Spread.CellType.PercentCellType(); // } // else if (viscol[dt.Columns[i].ColumnName].CellType == 2) // { // FarPoint.Win.Spread.CellType.NumberCellType newcelltype = new FarPoint.Win.Spread.CellType.NumberCellType(); // newcelltype.DecimalPlaces = viscol[dt.Columns[i].ColumnName].weishu; // Sheet1.Columns[visrowcount].CellType = newcelltype; // } // for (int j = 0; j < dt.Rows.Count; j++) // { // Sheet1.SetValue(j + 1, visrowcount, dt.Rows[j][i].ToString()); // } // visrowcount++; // } //} Sheet1.Rows[0].CellType = new FarPoint.Win.Spread.CellType.TextCellType(); } //使表格只读 fc.Sheet_Locked(Sheet1); }