public void CellType(FarPoint.Win.Spread.SheetView obj_sheet) { for (int row = 2; row < 8; row++) { if (row!=3) { for (int col = 3; col < 6; col++) { fc.Sheet_UnLockedandCellNumber(obj_sheet, row, col); } for (int col = 11; col < 13; col++) { fc.Sheet_UnLockedandCellNumber(obj_sheet, row, col); } } for (int col = 6; col < 11; col++) { fc.Sheet_UnLockedandCellNumber(obj_sheet, row, col); if (col!=6) { obj_sheet.Cells[row, col].CellType = new FarPoint.Win.Spread.CellType.PercentCellType(); } } } }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName) { //表格共10 行8 列 rowcount = 10; colcount = 8; //工作表第一行的标题 title = "表3‑4 "+year+"年铜陵市并网电厂装机容量表(MW)"; //工作表名 sheetname = "表3-4"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 60; obj_sheet.Columns[1].Width = 110; obj_sheet.Columns[2].Width = 80; obj_sheet.Columns[3].Width = 80; obj_sheet.Columns[4].Width = 80; obj_sheet.Columns[5].Width = 80; obj_sheet.Columns[6].Width = 80; obj_sheet.Columns[7].Width = 80; //设定表格行高度 obj_sheet.Rows[1].Height = 20; obj_sheet.Rows[2].Height = 20; //写标题行列内容 Sheet_AddItem(obj_sheet, SxXjName); //写入数据 Sheet_AddData(obj_sheet, year, ProjID, SxXjName); //锁定表格 fc.Sheet_Locked(obj_sheet); }
/// <summary> /// 加载数据同时保存数据到指定位置 /// </summary> /// <param name="obj"></param> private void AddData(FarPoint.Win.Spread.FpSpread obj) { wait = new WaitDialogForm("", "正在加载数据, 请稍候..."); try { //打开Excel表格 //清空工作表 fpSpread1.Sheets.Clear(); obj.OpenExcel(System.Windows.Forms.Application.StartupPath + "\\xls\\中压配电网分析.xls"); PF.SpreadRemoveEmptyCells(obj); //this.AddCellChanged(); //this.barEditItem2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; //S4_2_1.AddBarEditItems(this.barEditItem2, this.barEditItem1, this); } catch (System.Exception e) { //如果打开出错则重新生成并保存 LoadData(); //判断文件夹是否存在,不存在则创建 if (!Directory.Exists(System.Windows.Forms.Application.StartupPath + "\\xls")) { Directory.CreateDirectory(System.Windows.Forms.Application.StartupPath + "\\xls"); } //保存EXcel文件 obj.SaveExcel(System.Windows.Forms.Application.StartupPath + "\\xls\\中压配电网分析.xls", FarPoint.Excel.ExcelSaveFlags.NoFlagsSet); // 定义要使用的Excel 组件接口 // 定义Application 对象,此对象表示整个Excel 程序 Microsoft.Office.Interop.Excel.Application excelApp = null; // 定义Workbook对象,此对象代表工作薄 Microsoft.Office.Interop.Excel.Workbook workBook; // 定义Worksheet 对象,此对象表示Execel 中的一张工作表 Microsoft.Office.Interop.Excel.Worksheet ws = null; Microsoft.Office.Interop.Excel.Range range = null; excelApp = new Microsoft.Office.Interop.Excel.Application(); string filename = System.Windows.Forms.Application.StartupPath + "\\xls\\中压配电网分析.xls"; workBook = excelApp.Workbooks.Open(filename, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); for (int i = 1; i <= workBook.Worksheets.Count; i++) { ws = (Microsoft.Office.Interop.Excel.Worksheet)workBook.Worksheets[i]; //取消保护工作表 ws.Unprotect(Missing.Value); //有数据的行数 int row = ws.UsedRange.Rows.Count; //有数据的列数 int col = ws.UsedRange.Columns.Count; //创建一个区域 range = ws.get_Range(ws.Cells[1, 1], ws.Cells[row, col]); //设区域内的单元格自动换行 range.WrapText = true; //保护工作表 ws.Protect(Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); } //保存工作簿 workBook.Save(); //关闭工作簿 excelApp.Workbooks.Close(); } wait.Close(); }
private void Sheet_AddData(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID) { //对于线路信息,OperationYear中存放的投产年份,Type='05'表示线路信息 //LineType2存放的公用专用标识,RateVolt存放电压,为float类型 //JXFS为接线方式,如环网、链式等 string XLtiaojian = ""; string[] JGType = { "环网", "放射型", "链式", "T型", "其它" }; string JGLX = ""; string DianYa = ""; for (int row = 2; row < 11; row++) { for (int col = 2; col <= 3; col++) { JGLX = JGType[(row / 2) - 1]; if (col == 2) { DianYa = "110"; } else { DianYa = "35"; } XLtiaojian = " OperationYear!='' and year(cast(OperationYear as datetime))<=" + year + " and Type='05' and LineType2='公用' and RateVolt=" + DianYa + " and ProjectID='" + ProjID + "' and JXFS='" + JGLX + "'"; int XLsum = 0; if (Services.BaseService.GetObject("SelectPSPDEV_CountAll", XLtiaojian) != null) { XLsum = (int)Services.BaseService.GetObject("SelectPSPDEV_CountAll", XLtiaojian); } obj_sheet.SetValue(row, col, XLsum); } row++; } }
/// <summary> /// 选中下拉菜单中的数据连接数据库表,方案 /// </summary> /// <param name="BE"></param> public void SelectEditChange(FarPoint.Win.Spread.FpSpread fPobj,FarPoint.Win.Spread.SheetView SheetView, object obj, Itop.Client.Base.FormBase FB) { //string strTitle = null; string strID = obj.ToString(); InitTitle(); //Ps_forecast_list pfl = null; projectID = FB.ProjectUID; //string con1 = "Title='" + strTitle + "' and UserID='" + projectID + "'"; try { //查询下拉菜单所选中的数据 //pfl = (Ps_forecast_list)Services.BaseService.GetObject("SelectPs_forecast_listByWhere", con1); //programID = pfl.ID; programID = strID; CityID = SelectID(strID, AreaType[0]);//市辖 CountyID = SelectID(strID, AreaType[1]);//县级 SelectDQ(CityID, AreaType[0]); SelectDQ(CountyID, AreaType[1]); SetLeftTitle(SheetView, 5, 0);//左侧标题 WriteData(fPobj,SheetView, 5, 0);//数据 PF.Sheet_GridandCenter(SheetView);//画边线,居中 S10_1.ColReadOnly(SheetView, SheetView.Columns.Count); PF.SetWholeRowHeight(SheetView, SheetView.Rows.Count, SheetView.Columns.Count);//行高 } catch (System.Exception e) { MessageBox.Show(e.Message); } }
/// <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); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet, string ProjID, List<string[]> SxXjName) { //表格共9 行9 列 rowcount = 9; colcount = 9; //工作表第一行的标题 title = "表5‑2 铜陵市接入110kV及以下配电网的新能源电厂装机容量情况(MW)"; //工作表名 sheetname = "表5‑2"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 60; obj_sheet.Columns[1].Width = 100; obj_sheet.Columns[2].Width = 90; obj_sheet.Columns[3].Width = 90; obj_sheet.Columns[4].Width = 90; obj_sheet.Columns[5].Width = 90; obj_sheet.Columns[6].Width = 90; obj_sheet.Columns[7].Width = 90; obj_sheet.Columns[8].Width = 90; //设定表格行高度 obj_sheet.Rows[1].Height = 20; //写标题行列内容 Sheet_AddItem(obj_sheet, SxXjName); //写入数据 Sheet_AddData(obj_sheet, ProjID, SxXjName); //锁定表格 fc.Sheet_Locked(obj_sheet); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName) { //表格共14 行4 列 rowcount = 14; colcount = 4; //工作表第一行的标题 title = "表3‑6 " + year + "年铜陵市高压配电网结构情况"; //工作表名 sheetname = "表3-6"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 80; obj_sheet.Columns[1].Width = 160; obj_sheet.Columns[2].Width = 150; obj_sheet.Columns[3].Width = 150; //写行列标题 Sheet_AddItem(obj_sheet); //写入数据 Sheet_AddData(obj_sheet,year,ProjID); //写入公式 //求和公式 fc.Sheet_WriteFormula_RowSum(obj_sheet, 2, 2, 5, 2, 12, 2, 2); //分项求比例公式 fc.Sheet_WriteFormula_Percent_Row(obj_sheet, 2, 2, 1, 3, 2, 5, 2, 12); //总和求比例公式 fc.Sheet_WriteFormula_Percent_Row(obj_sheet, 12, 2, 0, 13, 2, 1, 2, 12); //锁定表格 fc.Sheet_Locked(obj_sheet); }
/// <summary> /// 按照起始和结束年份写入列标题 /// </summary> /// <param name="BeginYear"></param> /// <param name="EndYear"></param> public void SetColumnsTitle(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int BeginYear, int EndYear,string CurrentYear) { int intTemp = BeginYear; Redraw(FB, obj, BeginYear, EndYear, CurrentYear); WriteData(FB, obj, CurrentYear); }
/// <summary> /// 选中下拉菜单中的数据连接数据库表,方案 /// </summary> /// <param name="BE"></param> public void SelectEditChange(FarPoint.Win.Spread.FpSpread fPobj,FarPoint.Win.Spread.SheetView SheetView, object obj, Itop.Client.Base.FormBase FB) { string strID = null; //strTitle = obj.EditValue.ToString(); strID=obj.ToString(); Ps_forecast_list pfl = null; projectID = FB.ProjectUID; string con1 = "ID='" + strID + "' and UserID='" + projectID + "'"; try { //查询下拉菜单所选中的数据 pfl = (Ps_forecast_list)Services.BaseService.GetObject("SelectPs_forecast_listByWhere", con1); programID = pfl.ID; SetLeftTitle(SheetView, 5, 0);//左侧标题 WriteData(SheetView, 5, 0);//数据 S4_3.WriteData(fPobj,fPobj.Sheets[4], 5, 0); PF.Sheet_GridandCenter(SheetView);//画边线,居中 S10_1.ColReadOnly(SheetView, SheetView.Columns.Count); PF.SetWholeRowHeight(SheetView, SheetView.Rows.Count, SheetView.Columns.Count);//行高 } catch (System.Exception e) { //MessageBox.Show(e.Message); } }
/// <summary> /// 设置某列为只读 /// </summary> /// <param name="obj">sheetView对象</param> /// <param name="IntCol">列数</param> public void ColReadOnly(FarPoint.Win.Spread.SheetView obj, int IntCol) { for (int i = 0; i < IntCol; i++) { obj.Columns[i].Locked = true;//列设置为只读 } }
/// <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_1Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title, bool IsTrue) { SelectValue(FB); int IntColCount = 5; int IntRowCount = list.Count + 2 + 3;//标题占3行,分区类型占2行,1是其它用 string title = null; obj.SheetName = Title; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 S10_1.ColReadOnly(obj, IntColCount); //obj.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly; string strTitle = ""; IntRow = 3; strTitle = Title; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title); PF.SetSheetViewColumnsWidth(obj, 0, Title); IntCol = 1; strTitle = " 变电站名称"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 电压等级(kV)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2012年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2015年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "备 注"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; SetLeftTitle(obj, IntRow, IntCol); if(!IsTrue) { WriteData(obj, IntRow, IntCol); } else//更新 { ComparisonData(obj, 5, 2); WriteData(obj, IntRow, IntCol); } PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 用来全部锁住工作簿的单元格 /// </summary> /// <param name="obj"></param> public void LockSheets(FarPoint.Win.Spread.SheetView obj) { for(int j=0;j<obj.ColumnCount;++j) { obj.Columns[j].Locked = true; } }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName) { //表格共9 行6 列 rowcount = 9; colcount = 6; //工作表第一行的标题 title = "表3‑5 " + year + "年铜陵市220kV或330kV电网规模"; //工作表名 sheetname = "表3-5"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 60; obj_sheet.Columns[1].Width = 110; obj_sheet.Columns[2].Width = 80; obj_sheet.Columns[3].Width = 80; obj_sheet.Columns[4].Width = 80; obj_sheet.Columns[5].Width = 80; //添加行列标题 Sheet_AddItem(obj_sheet); //添加数据 Sheet_AddData(obj_sheet,year,ProjID); //写求和公式 fc.Sheet_WriteFormula_RowSum(obj_sheet, 6, 2, 2, 1, 8, 2, 4); //锁定表格 fc.Sheet_Locked(obj_sheet); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet, string ProjID) { //计算市辖供电区条件 string SXtiaojianarea = " AreaID='" + ProjID + "' and (S10='水电' or S10='煤电') and S9!='' and CAST(S1 as int) between 10 and 110 and S3!='' and S5='市辖供电区' group by S9"; //计算县级供电区条件 string XJtiaojianarea = " AreaID='" + ProjID + "' and (S10='水电' or S10='煤电') and S9!='' and CAST(S1 as int) between 10 and 110 and S3!='' and S5!='市辖供电区' group by S9"; //存放市辖供电区分区名 IList<string> SXareaid_List = Services.BaseService.GetList<string>("SelectPSP_PowerSubstation_Info_GroupS9", SXtiaojianarea); //存放县级供电区分区名 IList<string> XJareaid_List = Services.BaseService.GetList<string>("SelectPSP_PowerSubstation_Info_GroupS9", XJtiaojianarea); //计算市辖电区电厂个数条件 string SXtiaojian = " AreaID='" + ProjID + "' and (S10='水电' or S10='煤电') and S9!='' and CAST(S1 as int) between 10 and 110 and S3!='' and S5='市辖供电区'"; //计算县级供电区电厂个数条件 string XJtiaojian = " AreaID='" + ProjID + "' and (S10='水电' or S10='煤电') and S9!='' and CAST(S1 as int) between 10 and 110 and S3!='' and S5!='市辖供电区'"; //市辖供电区电厂个数 int SXsum = (int)Services.BaseService.GetObject("SelectPSP_PowerSubstation_InfoCountByObject", SXtiaojian); //县级供电区电厂个数 int XJsum = (int)Services.BaseService.GetObject("SelectPSP_PowerSubstation_InfoCountByObject", XJtiaojian); //表标题行数 int startrow = 3; //表格共10 行12 列 rowcount = startrow+SXsum+XJsum; colcount = 12; //工作表第一行的标题 title = "附表32 铜陵市接入110kV及以下配电网的电源规划方案"; //工作表名 sheetname = "表5-1 附表32"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 100; obj_sheet.Columns[1].Width = 110; obj_sheet.Columns[2].Width = 150; obj_sheet.Columns[3].Width = 60; obj_sheet.Columns[4].Width = 60; obj_sheet.Columns[5].Width = 60; obj_sheet.Columns[6].Width = 60; obj_sheet.Columns[7].Width = 60; obj_sheet.Columns[8].Width = 60; obj_sheet.Columns[9].Width = 60; obj_sheet.Columns[10].Width = 60; obj_sheet.Columns[11].Width = 60; //设定表格行高度 obj_sheet.Rows[1].Height = 20; obj_sheet.Rows[2].Height = 20; //写标题行列内容 Sheet_AddItem(obj_sheet, SXareaid_List, XJareaid_List); //写入数据 Sheet_AddData(obj_sheet, ProjID, SXareaid_List, XJareaid_List); //锁定表格 fc.Sheet_Locked(obj_sheet); }
/// <summary> /// 根据下拉菜单从新打印报表 /// </summary> /// <param name="FB"></param> /// <param name="obj"></param> /// <param name="strEndYear"></param> public void SetColumnsTitle(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj,string strEndYear) { //查询变电站数据 SelectBDZ(FB); SelectLine(FB,strEndYear,BDZList); //重绘 ReDraw(FB,obj,strEndYear); }
public void Build_Sheet(FarPoint.Win.Spread.SheetView obj_sheet) { //���8 ��6 �� rowcount = 8; colcount = 6; //�������һ�еı��� title = TC.GetTableTitle(this.GetType().Name); //�������й���� //int[] TableYearsAry = TC.GetTableYears(this.GetType().Name); //�������� sheetname = title; //�趨����������ֵ������ͱ��� TC.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //�趨����ģʽ���Ա�д��ʽʹ�� TC.Sheet_Referen_R1C1(obj_sheet); //�趨����п�� obj_sheet.Columns[0].Width = 60; obj_sheet.Columns[1].Width = 100; obj_sheet.Columns[2].Width = 100; obj_sheet.Columns[3].Width = 80; obj_sheet.Columns[4].Width = 100; obj_sheet.Columns[5].Width = 80; //�趨����и߶� obj_sheet.Rows[0].Height = 20; obj_sheet.Rows[1].Height = 20; obj_sheet.Rows[2].Height = 20; //д���������� //2�б������� obj_sheet.AddSpanCell(1, 0, 2, 1); obj_sheet.AddSpanCell(1, 1, 2, 1); obj_sheet.SetValue(1, 2, "������"); obj_sheet.AddSpanCell(1, 3, 2, 1); obj_sheet.SetValue(1, 3, "�����ʣ�%��"); obj_sheet.SetValue(1, 4, "���縺��"); obj_sheet.AddSpanCell(1, 5, 2, 1); obj_sheet.SetValue(1, 5, "�����ʣ�%��"); //3�б������� obj_sheet.SetValue(2, 2, "����ǧ��ʱ��"); obj_sheet.SetValue(2, 4, "����ǧ�ߣ�"); //д���������� //1�б������� obj_sheet.SetValue(3, 0, "1"); //2�б������� obj_sheet.SetValue(3, 1, "ȫ��"); //������� Sheet_AddData(obj_sheet); //�趨����� TC.Sheet_GridandCenter(obj_sheet); //������� TC.Sheet_Locked(obj_sheet); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, Hashtable area_key_id, List<string[]> SxXjName) { //计算市辖供电区条件 string SXtiaojianarea = " AreaID='" + ProjID + "' and S9!='' and CAST(S1 as int) between 10 and 110 and CAST(S3 as int ) <=" + year + " and S5='市辖供电区' group by S9"; //计算县级供电区条件 string XJtiaojianarea = " AreaID='" + ProjID + "' and S9!='' and CAST(S1 as int) between 10 and 110 and CAST(S3 as int ) <=" + year + " and S5!='市辖供电区' group by S9"; //存放市辖供电区分区名 IList<string> SXareaid_List = Services.BaseService.GetList<string>("SelectPSP_PowerSubstation_Info_GroupS9", SXtiaojianarea); //存放县级供电区分区名 IList<string> XJareaid_List = Services.BaseService.GetList<string>("SelectPSP_PowerSubstation_Info_GroupS9", XJtiaojianarea); //计算市辖电区电厂个数条件 string SXtiaojian = " AreaID='" + ProjID + "' and S9!='' and CAST(S1 as int) between 10 and 110 and CAST(S3 as int ) <=" + year + " and S5='市辖供电区'"; //计算县级供电区电厂个数条件 string XJtiaojian = " AreaID='" + ProjID + "' and S9!='' and CAST(S1 as int) between 10 and 110 and CAST(S3 as int ) <=" + year + " and S5!='市辖供电区'"; //市辖供电区电厂个数 int SXsum = (int)Services.BaseService.GetObject("SelectPSP_PowerSubstation_InfoCountByObject", SXtiaojian); //县级供电区电厂个数 int XJsum = (int)Services.BaseService.GetObject("SelectPSP_PowerSubstation_InfoCountByObject", XJtiaojian); //表标题行数 int startrow = 2; //表格共10 行10 列 rowcount = startrow+SXsum+XJsum+2; colcount = 10; //工作表第一行的标题 title = "附表2 铜陵市电源装机容量及发电量情况("+year+"年)(发策部、生技部)"; //工作表名 sheetname = "表3-4 附表2"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 90; obj_sheet.Columns[1].Width = 120; obj_sheet.Columns[2].Width = 120; obj_sheet.Columns[3].Width = 90; obj_sheet.Columns[4].Width = 70; obj_sheet.Columns[5].Width = 60; obj_sheet.Columns[6].Width = 60; obj_sheet.Columns[7].Width = 90; obj_sheet.Columns[8].Width = 60; obj_sheet.Columns[9].Width = 60; //设定表格行高度 obj_sheet.Rows[1].Height = 40; //写标题行列内容 Sheet_AddItem(obj_sheet, SXareaid_List, XJareaid_List); //写入数据 Sheet_AddData(obj_sheet, year, ProjID, SXareaid_List, XJareaid_List); //锁定表格 fc.Sheet_Locked(obj_sheet); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName) { //写标题行列内容 //Sheet_AddItem(obj_sheet, SxXjName, DY_list); //写入数据 //Sheet_AddData(obj_sheet, year, ProjID, SxXjName, DY_list); //锁定表格 fc.Sheet_Locked(obj_sheet); }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_13Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int IntColCount = 3; int IntRowCount = 6 + 2 + 3;//标题占3行,分区类型占2行 string title = null; obj.SheetName = Title; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 m_PF.LockSheets(obj); string strTitle = ""; IntRow = 3; strTitle = Title; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title); PF.SetSheetViewColumnsWidth(obj, 0, Title); IntCol = 1; strTitle = "单位:万千瓦 万千伏安 千伏 座 台"; obj.AddSpanCell(IntRow, 0, 1, obj.Columns.Count); obj.SetValue(IntRow, 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); //右对齐 obj.Rows[IntRow].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right; //列标题 strTitle = "序号"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow += 1, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); for (int i = 0; i < (IntColCount - 1); ++i) { switch (i) { case 0: strTitle = " 项 目 "; break; case 1: strTitle = " 统计 "; break; default: break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, Hashtable area_key_id, List<string[]> SxXjName) { //线路电压等级根据实际情况查询(中压 6 <= 电压<=20) string XLDianYatiaojian = " (b.Type='50' or b.Type='51' or b.Type='52') and b.OperationYear!='' and year(cast(b.OperationYear as datetime))<=" + year + " and b.ProjectID='" + ProjID + "' and a.LineType2='公用' and b.RateVolt between 6 and 20 group by b.RateVolt"; IList<double> DY_list = Services.BaseService.GetList<double>("SelectPSPDEV_RateVolt_type50-59", XLDianYatiaojian); int xlsum = DY_list.Count; //计算市辖供电区条件 string SXtiaojianareaid = " (b.Type='50' or b.Type='51' or b.Type='52') and b.OperationYear!='' and year(cast(b.OperationYear as datetime))<=" + year + " and a.AreaID!='' and b.ProjectID='" + ProjID + "' and a.LineType2='公用' and a.DQ='市辖供电区' and b.RateVolt between 6 and 20 group by a.AreaID"; //计算县级供电区条件 string XJtiaojianareaid = " (b.Type='50' or b.Type='51' or b.Type='52') and b.OperationYear!='' and year(cast(b.OperationYear as datetime))<=" + year + " and a.AreaID!='' and b.ProjectID='" + ProjID + "' and a.LineType2='公用' and a.DQ!='市辖供电区' and b.RateVolt between 6 and 20 group by a.AreaID"; //存放市辖供电区分区名 IList<string> SXareaid_List = Services.BaseService.GetList<string>("SelectPSPDEV_AreaID_type50-59", SXtiaojianareaid); //存放县级供电区分区名 IList<string> XJareaid_List = Services.BaseService.GetList<string>("SelectPSPDEV_AreaID_type50-59", XJtiaojianareaid); //市辖供电区分区个数 int SXsum = SXareaid_List.Count; //县级供电区分区个数 int XJsum = XJareaid_List.Count; //表标题行数 int startrow = 2; //列标题每项是压等级数 int length = xlsum; //表格共 行6 列 rowcount = startrow + (SXsum + XJsum + 2) * length; colcount = 6; //工作表第一行的标题 title = "附表11 铜陵市中压配电网配电设备统计( " + year + "年)"; //工作表名 sheetname = "表3-13 附表11"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 90; obj_sheet.Columns[1].Width = 100; obj_sheet.Columns[2].Width = 80; obj_sheet.Columns[3].Width = 90; obj_sheet.Columns[4].Width = 90; obj_sheet.Columns[5].Width = 90; //设定表格行高度 obj_sheet.Rows[1].Height = 40; //写标题行列内容 Sheet_AddItem(obj_sheet, area_key_id, DY_list, SXareaid_List, XJareaid_List); //写入数据 Sheet_AddData(obj_sheet,year,ProjID, DY_list, SXareaid_List, XJareaid_List); //写入公式 //锁定表格 fc.Sheet_Locked(obj_sheet); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet, string ProjID, List<string[]> SxXjName) { //表格共59 行19 列 rowcount = 59; colcount = 19; //工作表第一行的标题 title = "表9‑1 新建变电站建设型式及用地需求 (单位:座、km2)"; //工作表名 sheetname = "表9‑1"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 60; obj_sheet.Columns[1].Width = 100; obj_sheet.Columns[2].Width = 60; obj_sheet.Columns[3].Width = 60; obj_sheet.Columns[4].Width = 90; obj_sheet.Columns[5].Width = 40; obj_sheet.Columns[6].Width = 60; obj_sheet.Columns[7].Width = 40; obj_sheet.Columns[8].Width = 60; obj_sheet.Columns[9].Width = 40; obj_sheet.Columns[10].Width = 60; obj_sheet.Columns[11].Width = 40; obj_sheet.Columns[12].Width = 60; obj_sheet.Columns[13].Width = 40; obj_sheet.Columns[14].Width = 60; obj_sheet.Columns[15].Width = 40; obj_sheet.Columns[16].Width = 60; obj_sheet.Columns[17].Width = 50; obj_sheet.Columns[18].Width = 60; //设定表格行高度 obj_sheet.Rows[1].Height = 20; obj_sheet.Rows[2].Height = 20; //写标题行列内容 Sheet_AddItem(obj_sheet, SxXjName); //写入公式 int startrow = 3; int dylength = 2; int length = 4; int countcol = 12; fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow + 2 * dylength * length, 5, 4, dylength * length, startrow + 1 * dylength * length, 5, countcol); fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow, 5, 2, dylength * length, startrow + 6 * dylength * length, 5, countcol); fc.Sheet_WriteFormula_MoreColsum_NoSpan(obj_sheet, startrow, 7, obj_sheet.RowCount - startrow, 5, startrow, 17, 2); fc.Sheet_WriteFormula_OneCol_Anotercol_nopercent(obj_sheet, startrow, 17, 18, 4, obj_sheet.RowCount - startrow,4); //锁定表格 fc.Sheet_Locked(obj_sheet); //限定格式 CellType(obj_sheet); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName) { //线路电压等级根据实际情况查询 //string XLDianYatiaojian = " (Type='05' or Type='50' or Type='51' or Type='52' or Type='55' or Type='56' or Type='57' or Type='58' ) "; //XLDianYatiaojian += " and (" + year + " - year(cast(OperationYear as datetime)) )>=0 and ProjectID='" + ProjID + "' and RateVolt between 6 and 20 group by RateVolt"; string XLDianYatiaojian = " Type='05' and (" + year + " - year(cast(OperationYear as datetime)) )>=0 and ProjectID='" + ProjID + "' and LineType2='公用' and RateVolt between 6 and 20 group by RateVolt"; IList<double> DY_list = Services.BaseService.GetList<double>("SelectPSPDEV_RateVolt", XLDianYatiaojian); int xlsum = DY_list.Count; //表标题行数 int startrow = 3; //列标题每项行数 int dylength = xlsum; int length = 5; //表格共 行10 列 rowcount = startrow + 7 * dylength * length; colcount = 10; //工作表第一行的标题 title = "表3‑19 "+year+"年铜陵市中压配电设备运行年限统计"; //工作表名 sheetname = "表3-19"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 60; obj_sheet.Columns[1].Width = 100; obj_sheet.Columns[2].Width = 80; obj_sheet.Columns[3].Width = 90; obj_sheet.Columns[4].Width = 80; obj_sheet.Columns[5].Width = 80; obj_sheet.Columns[6].Width = 80; obj_sheet.Columns[7].Width = 80; obj_sheet.Columns[8].Width = 80; obj_sheet.Columns[9].Width = 80; //设定表格行高度 obj_sheet.Rows[1].Height = 20; obj_sheet.Rows[2].Height = 20; //写标题行列内容 Sheet_AddItem(obj_sheet, SxXjName, DY_list); //写入数据 Sheet_AddData(obj_sheet, year, ProjID, SxXjName, DY_list); //写入求比例公式 fc.Sheet_WriteFormula_TwoCol_Percent(obj_sheet, startrow, 4, 7 * dylength, length, startrow, 5); fc.Sheet_WriteFormula_TwoCol_Percent(obj_sheet, startrow, 6, 7 * dylength, length, startrow, 7); fc.Sheet_WriteFormula_TwoCol_Percent(obj_sheet, startrow, 8, 7 * dylength, length, startrow, 9); //锁定表格 fc.Sheet_Locked(obj_sheet); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, Hashtable area_key_id, List<string[]> SxXjName) { //写标题行列内容 //Sheet_AddItem(obj_sheet, area_key_id, DY_list, SXareaid_List, XJareaid_List); //写入数据 //Sheet_AddData(obj_sheet,year,ProjID, DY_list, SXareaid_List, XJareaid_List); //写入公式 //锁定表格 fc.Sheet_Locked(obj_sheet); }
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, "Ͷ����ݺ�Ͷ����ģ"); }
public void Sheet_AddData(FarPoint.Win.Spread.SheetView obj_sheet,string ProjID, List<string[]> SxXjName) { int startrow = 2; string tiaojian = ""; string yeartiaojian = ""; string GYorZB = ""; for (int i = 0; i < SxXjName.Count; i++) { if (SxXjName[i][2] != "合计") { for (int col = 2; col < 9; col++) { //2010年装机容量包括09年及以前的年份 if (col==2) { yeartiaojian = " CAST(S3 as int )<=2010 "; } //2020年装机容量包括2016到2020年 else if (col==8) { yeartiaojian = " CAST(S3 as int ) between 2016 and 2020 "; } //2011到2015每年单独统计 else { yeartiaojian = " CAST(S3 as int )=" + (2008 + col); } //计算装机容量 tiaojian = " AreaID='" + ProjID + "' and S10!='水电' and S10!='煤电' and S10!='' and " + yeartiaojian + " and S5='" + SxXjName[i][2] + "' and CAST(S1 as int) between 10 and 110"; double ZJRLsum = 0; if (Services.BaseService.GetObject("SelectPSP_PowerSubstation_Info_S2", tiaojian) != null) { ZJRLsum = (double)Services.BaseService.GetObject("SelectPSP_PowerSubstation_Info_S2", tiaojian); } obj_sheet.SetValue(startrow + i, col, ZJRLsum); } } else { if (i == 1) { //写入县级合计部分公式 fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow + 2, 2, 4, 1, startrow + 1, 2, 7); } else { //写入全地区合计公式 fc.Sheet_WriteFormula_RowSum(obj_sheet, startrow, 2, 2, 1, startrow + i, 2, 7); } } } }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet, int year, string ProjID, Hashtable area_key_id, List<string[]> SxXjName) { //计算市辖供电区条件 string SXtiaojianareaid = " ProjectID='" + ProjID + "' and Col1='市区' group by ID"; //计算县级供电区条件 string XJtiaojianareaid = " ProjectID='" + ProjID + "' and Col1='县级' group by ID"; //存放市辖供电区分区名 IList<string> SXareaid_List = Services.BaseService.GetList<string>("SelectPS_Table_AreaWH_ID", SXtiaojianareaid); //存放县级供电区分区名 IList<string> XJareaid_List = Services.BaseService.GetList<string>("SelectPS_Table_AreaWH_ID", XJtiaojianareaid); //市辖供电区分区个数 int SXsum = SXareaid_List.Count; //县级供电区分区个数 int XJsum = XJareaid_List.Count; //表标题行数 int startrow = 2; //表格共 行7 列 rowcount = startrow + (SXsum + XJsum + 2) ; colcount = 7; //工作表第一行的标题 title = "附表1 铜陵市最大负荷和电量情况("+year+"年)"; //工作表名 sheetname = "表3-3 附表1"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 90; obj_sheet.Columns[1].Width = 80; obj_sheet.Columns[2].Width = 80; obj_sheet.Columns[3].Width = 90; obj_sheet.Columns[4].Width = 110; obj_sheet.Columns[5].Width = 90; obj_sheet.Columns[6].Width = 90; //设定表格行高度 obj_sheet.Rows[1].Height = 40; //写标题行内容 Sheet_AddItem(obj_sheet,area_key_id,SXareaid_List,XJareaid_List); //写入求合公式 fc.Sheet_WriteFormula_RowSum(obj_sheet,startrow+1,2,SXareaid_List.Count,1,startrow,2,5); fc.Sheet_WriteFormula_RowSum(obj_sheet,startrow+SXareaid_List.Count+2,2,XJareaid_List.Count,1,startrow+SXareaid_List.Count+1,2,5); //锁定表格 fc.Sheet_Locked(obj_sheet); //限制格式 CellType(obj_sheet); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName) { //线路电压等级根据实际情况查询(中压 6 <= 电压<=20) string XLDianYatiaojian = " Type='05' and OperationYear!='' and year(cast(OperationYear as datetime))<=" + year + " and LineLength>Length2 and ProjectID='" + ProjID + "' and LineType2='公用' and RateVolt between 6 and 20 group by RateVolt"; IList<double> DY_list = Services.BaseService.GetList<double>("SelectPSPDEV_RateVolt", XLDianYatiaojian); int xlsum = DY_list.Count; //表标题行数 int startrow = 2; //列标题每项行数 int dylength = xlsum; //表格共 行12 列 rowcount = startrow + 7 * dylength; colcount = 12; //工作表第一行的标题 title = "表3‑11 " + year + "年铜陵市中压架空网结构情况"; //工作表名 sheetname = "表3-11"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 60; obj_sheet.Columns[1].Width = 100; obj_sheet.Columns[2].Width = 60; obj_sheet.Columns[3].Width = 60; obj_sheet.Columns[4].Width = 60; obj_sheet.Columns[5].Width = 80; obj_sheet.Columns[6].Width = 60; obj_sheet.Columns[7].Width = 60; obj_sheet.Columns[8].Width = 60; obj_sheet.Columns[9].Width = 60; obj_sheet.Columns[10].Width = 60; obj_sheet.Columns[11].Width = 60; //设定表格行高度 obj_sheet.Rows[1].Height = 40; //写标题行列内容 Sheet_AddItem(obj_sheet, SxXjName, DY_list); //写入数据 Sheet_AddData(obj_sheet, year, ProjID, SxXjName, DY_list); //写入公式 fc.Sheet_WriteFormula_OneCol_Anotercol_nopercent(obj_sheet, startrow, 3, 4, 5, dylength * 7,2); fc.Sheet_WriteFormula_OneCol_Anotercol_percent(obj_sheet, startrow, 3, 6, 9, dylength * 7); fc.Sheet_WriteFormula_OneCol_Anotercol_percent(obj_sheet, startrow, 3, 7, 10, dylength * 7); fc.Sheet_WriteFormula_OneCol_Anotercol_percent(obj_sheet, startrow, 3, 8, 11, dylength * 7); //锁定表格 fc.Sheet_Locked(obj_sheet); }
public void Build(FarPoint.Win.Spread.SheetView obj_sheet,int year,string ProjID,List<string[]> SxXjName) { //线路电压等级根据实际情况查询(中压 6 <= 电压<=20) string XLDianYatiaojian = " (b.Type='50' or b.Type='51' or b.Type='52') and b.OperationYear!='' and year(cast(b.OperationYear as datetime))<=" + year + " and b.ProjectID='" + ProjID + "' and a.LineType2!='' and b.RateVolt between 6 and 20 group by b.RateVolt order by b.RateVolt"; IList<double> DY_list = Services.BaseService.GetList<double>("SelectPSPDEV_RateVolt_type50-59", XLDianYatiaojian); int xlsum = DY_list.Count; //表标题行数 int startrow = 3; //表格共 行11 列 rowcount = startrow + 7 * xlsum; colcount = 11; //工作表第一行的标题 title = "表3‑14 "+year+"年铜陵市中压配电变压器统计情况"; //工作表名 sheetname = "表3-14"; //设定工作表行列值及标题和表名 fc.Sheet_RowCol_Title_Name(obj_sheet, rowcount, colcount, title, sheetname); //设定表格线 fc.Sheet_GridandCenter(obj_sheet); //设定行列模式,以便写公式使用 fc.Sheet_Referen_R1C1(obj_sheet); //设定表格列宽度 obj_sheet.Columns[0].Width = 60; obj_sheet.Columns[1].Width = 90; obj_sheet.Columns[2].Width = 60; obj_sheet.Columns[3].Width = 60; obj_sheet.Columns[4].Width = 60; obj_sheet.Columns[5].Width = 60; obj_sheet.Columns[6].Width = 60; obj_sheet.Columns[7].Width = 60; obj_sheet.Columns[8].Width = 60; obj_sheet.Columns[9].Width = 60; obj_sheet.Columns[10].Width = 60; //设定表格行高度 obj_sheet.Rows[1].Height = 20; obj_sheet.Rows[2].Height = 20; //写标题行列内容 Sheet_AddItem(obj_sheet, SxXjName, DY_list); //写入数据 Sheet_AddData(obj_sheet, year, ProjID, SxXjName, DY_list); //写入公式 fc.Sheet_WriteFormula_OneCol_TwoCol_Threecol_sum(obj_sheet, startrow, 3, 5, 7, DY_list.Count); fc.Sheet_WriteFormula_OneCol_TwoCol_Threecol_sum(obj_sheet, startrow + 2 * DY_list.Count, 3, 5, 7, 4 * DY_list.Count); fc.Sheet_WriteFormula_OneCol_TwoCol_Threecol_sum(obj_sheet, startrow, 4, 6, 8, DY_list.Count); fc.Sheet_WriteFormula_OneCol_TwoCol_Threecol_sum(obj_sheet, startrow + 2 * DY_list.Count, 4, 6, 8, 4 * DY_list.Count); fc.Sheet_WriteFormula_OneCol_Anotercol_percent(obj_sheet,startrow,3,9,10,7*DY_list.Count); //锁定表格 fc.Sheet_Locked(obj_sheet); //设定格式 CellType(obj_sheet); }