public static void ExportExcel10KV(IList<PS_kgjctj> datalist) { ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\10KV用户供电可靠性基础数据统计表.xls"; ex.Open(fname); int rowcount = 1; if (datalist.Count < 1) return; string tablename = "10KV用户供电可靠性基础数据统计表"; if (tablename.Length > 30) { tablename = tablename.Substring(tablename.Length - 31); } // //加页 int pageindex = datalist.Count; for (int j = 1; j < pageindex; j++) { ex.CopySheet(1, j); ex.ReNameWorkSheet(j + 1, tablename + "(" + (j) + ")"); } for (int j = 0; j < datalist.Count; j++) { if (j == 0) { ex.ActiveSheet(tablename); } else { ex.ActiveSheet(tablename + "(" + j + ")"); } // 填值 ex.SetCellValue(datalist[j].OrgName, 3, 2); ex.SetCellValue(datalist[j].CreateTime.ToString("yyyy年MM月dd日"), 5, 9); ex.SetCellValue(datalist[j].kgModel, 5, 2); ex.SetCellValue(datalist[j].iscxkg == true ? "是" : "否", 5, 7); ex.SetCellValue(datalist[j].kgCode, 5, 9); ex.SetCellValue(datalist[j].jkdxcd, 10, 2); ex.SetCellValue(datalist[j].dlxlcd, 10, 7); ex.SetCellValue(datalist[j].publicusercount.ToString(), 11, 2); ex.SetCellValue(datalist[j].publicbtcount.ToString(), 11, 5); ex.SetCellValue(datalist[j].publicbtrlcount.ToString(), 11, 9); ex.SetCellValue(datalist[j].zyusercount.ToString(), 12, 2); ex.SetCellValue(datalist[j].zybtcount.ToString(), 12, 5); ex.SetCellValue(datalist[j].zybtrlcount.ToString(), 12, 9); ex.SetCellValue(datalist[j].sdyusercount.ToString(), 13, 2); ex.SetCellValue(datalist[j].sdyrlcount.ToString(), 13, 5); ex.SetCellValue(datalist[j].zyuserqtsbcount.ToString(), 13, 9); ex.SetCellValue(datalist[j].drqcount.ToString(), 14, 2); ex.SetCellValue(datalist[j].drqrl, 14, 5); ex.SetCellValue(datalist[j].zyuserqtsbrlcount.ToString(), 14, 9); } ex.ActiveSheet(tablename); ex.ShowExcel(); }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(PJ_02aqhd obj) { //lgm ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\02安全活动记录.xls"; ex.Open(fname); //每行显示文字长度 int zc = 58; //与会人员之间的间隔符号 char[] jksign = new char[1] { ';' }; int row = 1; int col = 1; //计算页码 int pagecount = 1; //活动内容 string hdstr = Ecommon.Comparestring(obj.hdnr, "活动内容") ? "" : "活动内容:"; List<string> hdlist = Ecommon.ResultStrListByPage(hdstr, obj.hdnr, zc, 8); //if (Ecommon.GetPagecount(hdlist.Count, 8) > pagecount) //{ // pagecount = Ecommon.GetPagecount(hdlist.Count, 8); //} //活动小结 string hdxjstr = Ecommon.Comparestring(obj.hdxj, "活动小结") ? "" : "活动小结:"; List<string> hdxlist = Ecommon.ResultStrListByPage(hdxjstr, obj.hdxj, zc, 5); //if (Ecommon.GetPagecount(hdxlist.Count, 5) > pagecount) //{ // pagecount = Ecommon.GetPagecount(hdxlist.Count, 5); //} //发言简要记录 //领导评语 string ldpystr = Ecommon.Comparestring(obj.py, "领导检查评语") ? "" : "领导检查评语:"; List<string> ldpylist = Ecommon.ResultStrListByPage(ldpystr, obj.py, zc, 2); if (Ecommon.GetPagecount(ldpylist.Count + hdxlist.Count + hdlist.Count, 15) > pagecount) { pagecount = Ecommon.GetPagecount(ldpylist.Count + hdxlist.Count + hdlist.Count, 15); } List<string> fyjyjllist = Ecommon.ResultStrListByPage("", obj.fyjyjl, zc, 21); if (Ecommon.GetPagecount(fyjyjllist.Count, 21) > pagecount) { pagecount = Ecommon.GetPagecount(fyjyjllist.Count, 21); } //复制空模版 if (pagecount > 1) { for (int i = 1; i < pagecount; i++) { ex.CopySheet(1, i); ex.ReNameWorkSheet(i + 1, "Sheet" + (i + 1)); } } for (int p = 0; p < pagecount; p++) { ex.ActiveSheet(p + 1); //改造后的 for (int i = 0; i < 15; i++) { if (p * 15 + i < hdlist.Count) { string tempstr = hdlist[p * 15 + i]; ex.SetCellValue(tempstr, 10 + i, 1); if (p == 0 && i == 0) { //设定活动内容为粗体 ex.SetFontBold(10 + i, 1, 10 + i, 1, true, 0, 5); } } if (p * 15 + i >= hdlist.Count && p * 15 + i < hdlist.Count + hdxlist.Count) { string tempstr = hdxlist[p * 15 + i - hdlist.Count]; ex.SetCellValue(tempstr, 10 + i, 1); if (p * 15 + i == hdlist.Count) { ex.SetFontBold(10 + i, 1, 10 + i, 1, true, 0, 5); } //break; } if (p * 15 + i >= hdlist.Count + hdxlist.Count && p * 15 + i < hdlist.Count + hdxlist.Count + ldpylist.Count) { string tempstr = ldpylist[p * 15 + i - hdlist.Count - hdxlist.Count]; ex.SetCellValue(tempstr, 10 + i, 1); if (p * 15 + i == hdlist.Count + hdxlist.Count) ex.SetFontBold(10 + i, 1, 10 + i, 1, true, 0, 7); //break; } if (p * 15 + i >= hdlist.Count + hdxlist.Count + ldpylist.Count) { break; } } ////活动内容 //for (int i = 0; i < 8; i++) //{ // if (p * 8 + i>=hdlist.Count) // { // break; // } // string tempstr = hdlist[p * 8 + i]; // ex.SetCellValue(tempstr, 10 + i, 1); //} ////活动小结 //for (int s = 0; s < 5; s++) //{ // if (p * 5 + s >= hdxlist.Count) // { // break; // } // string tempstr = hdxlist[p * 5 + s]; // ex.SetCellValue(tempstr, 18 + s, 1); //} ////领导评语 //for (int t = 0; t < 2; t++) //{ // if (p * 2 + t >= ldpylist.Count) // { // break; // } // string tempstr = ldpylist[p * 2 + t]; // ex.SetCellValue(tempstr, 23 + t, 1); //} //简要记录 int jymaxpage = Ecommon.GetPagecount(fyjyjllist.Count, 21); if (pagecount - jymaxpage <= p) { for (int jy = 0; jy < 21; jy++) { if ((jymaxpage + p - pagecount) * 21 + jy >= fyjyjllist.Count) { break; } string tempstr = fyjyjllist[(jymaxpage + p - pagecount) * 21 + jy]; ex.SetCellValue(tempstr, 30 + jy, 1); if (p == pagecount - jymaxpage && jy == 0) { //设定活动内容为粗体 ex.SetFontBold(30, 1, 30, 1, true, 0, 6); } } } } ex.ActiveSheet(1); //主持人 ex.SetCellValue(obj.zcr, 4, 2); //开始时间 row = 2; ex.SetCellValue(obj.kssj.Year.ToString(), row + 2, col + 4); ex.SetCellValue(obj.kssj.Month.ToString(), row + 2, col + 6); ex.SetCellValue(obj.kssj.Day.ToString(), row + 2, col + 8); ex.SetCellValue(obj.kssj.Hour.ToString(), row + 2, col + 10); ex.SetCellValue(obj.kssj.Minute.ToString(), row + 2, col + 12); //结束时间 ex.SetCellValue(obj.jssj.Year.ToString(), row + 3, col + 4); ex.SetCellValue(obj.jssj.Month.ToString(), row + 3, col + 6); ex.SetCellValue(obj.jssj.Day.ToString(), row + 3, col + 8); ex.SetCellValue(obj.jssj.Hour.ToString(), row + 3, col + 10); ex.SetCellValue(obj.jssj.Minute.ToString(), row + 3, col + 12); //出席人员 string[] ary = obj.cjry.Split(jksign); int m = ary.Length / 8; int n = ary.Length % 8; if (n > 0) { m++; } if (m == 0) { m++; } for (int i = 0; i < ary.Length; i++) { int tempcol = col + 1 + i % 8; if (i % 8 > 3) { tempcol = col + 4 + (i % 8 - 3) * 2; } ex.SetCellValue(ary[i], row + 4 + i / 8, tempcol); } //缺席人员 string[] ary2 = obj.qxry.Split(jksign); for (int j = 0; j < ary2.Length; j++) { int tempcol = col + 2 + j % 7; if (j > 2 && j < 7) { tempcol = col + 4 + (j % 7 - 2) * 2; } if (j < 7) { ex.SetCellValue(ary2[j], row + 7, tempcol); } else//缺席人员大于七个时 { string tempstr = ex.ReadCellValue(row + 7, col + 12); tempstr = tempstr + "/" + ary2[j]; ex.SetCellValue(tempstr, row + 7, col + 12); } } //签字 // ex.SetCellValue("签字: ", 25, 1); // ex.SetCellValue(obj.qz, 25, col + 1); //签字时间小于系统默认时间则不输出 // if (ComboBoxHelper.CompreDate(obj.qzrq)) // { // ex.SetCellValue(obj.qzrq.Year.ToString(), 25, 5); // ex.SetCellValue(obj.qzrq.Month.ToString(), 25, 7); // ex.SetCellValue(obj.qzrq.Day.ToString(), 25, 11); // } ex.ShowExcel(); }
/// <summary> ///创建工作表并将数据加入到工作表中 /// </summary> /// <param name="ex">操作EXCEL表</param> /// <param name="bdzlist">填入的数据</param> /// <param name="hs">一页对应的总行数</param> /// <param name="stawz">一页中填入的开始的位置</param> /// <param name="pageindex">一页填入的列位置</param> /// <param name="strnumcol">第一个字符开始的行数</param> /// <param name="boldnum">加粗的数量</param> public static void CreatandWritesheet1(ExcelAccess ex, List<string> bdzlist, int hs, int star, int clm,int[] strnumcol,int[] boldnum) { int pageindex = 1; if (pageindex < Ecommonjh.GetPagecount(bdzlist.Count, hs)) { pageindex = Ecommonjh.GetPagecount(bdzlist.Count, hs); } for (int j = 1; j <= pageindex; j++) { if (j > 1) { ex.CopySheet(1, 1); } } ex.ShowExcel(); for (int j = 1; j <= pageindex; j++) { ex.ActiveSheet(j); ex.ReNameWorkSheet(j, "Sheet" + (j)); int prepageindex = j - 1; //主题 int starow = prepageindex * hs + 1; int endrow = j * hs; if (bdzlist.Count > endrow) { for (int i = 0; i < hs; i++) { ex.SetCellValue(bdzlist[starow - 1 + i], star + i, clm); //加粗过程 for (int n = 0; n < strnumcol.Length;n++ ) { if (starow-1+i==strnumcol[n]) { ex.SetFontBold(star + i, clm, star + i, clm, true, 0, boldnum[n]); } } //ex.SetCellValue(objlist[starow - 1 + i].rq.Month.ToString(), rowcount + i, 1); //ex.SetCellValue(objlist[starow - 1 + i].rq.Day.ToString(), rowcount + i, 2); //ex.SetCellValue(objlist[starow - 1 + i].rq.Hour.ToString(), rowcount + i, 3); //ex.SetCellValue(objlist[starow - 1 + i].rq.Minute.ToString(), rowcount + i, 4); //ex.SetCellValue(objlist[starow - 1 + i].lxfs, rowcount + i, 5); //ex.SetCellValue(objlist[starow - 1 + i].yhdz, rowcount + i, 6); //ex.SetCellValue(objlist[starow - 1 + i].gzjk, rowcount + i, 7); //ex.SetCellValue(objlist[starow - 1 + i].djr, rowcount + i, 8); //ex.SetCellValue(objlist[starow - 1 + i].clr, rowcount + i, 9); } } else if (bdzlist.Count <= endrow && bdzlist.Count >= starow) { for (int i = 0; i < bdzlist.Count - starow + 1; i++) { ex.SetCellValue(bdzlist[starow - 1 + i], star + i, clm); //加粗过程 for (int n = 0; n < strnumcol.Length; n++) { if (starow - 1 + i == strnumcol[n]) { ex.SetFontBold(star + i, clm, star + i, clm, true, 0, boldnum[n]); } } //ex.SetCellValue(objlist[starow - 1 + i].rq.Month.ToString(), rowcount + i, 1); //ex.SetCellValue(objlist[starow - 1 + i].rq.Day.ToString(), rowcount + i, 2); //ex.SetCellValue(objlist[starow - 1 + i].rq.Hour.ToString(), rowcount + i, 3); //ex.SetCellValue(objlist[starow - 1 + i].rq.Minute.ToString(), rowcount + i, 4); //ex.SetCellValue(objlist[starow - 1 + i].lxfs, rowcount + i, 5); //ex.SetCellValue(objlist[starow - 1 + i].yhdz, rowcount + i, 6); //ex.SetCellValue(objlist[starow - 1 + i].gzjk, rowcount + i, 7); //ex.SetCellValue(objlist[starow - 1 + i].djr, rowcount + i, 8); //ex.SetCellValue(objlist[starow - 1 + i].clr, rowcount + i, 9); } } } }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(IList<sdjl_07jdzz> objlist) { ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\送电08接地装置检测.xls"; ex.Open(fname); //此处写填充内容代码 int rowcount = 6; //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(objlist.Count, 16)) { pageindex = Ecommon.GetPagecount(objlist.Count, 16); } for (int j = 1; j <= pageindex; j++) { ex.SetCellValue(objlist[0].LineName, 4, 3); if (j > 1) { ex.CopySheet(1, 1); } } for (int j = 1; j <= pageindex; j++) { ex.ActiveSheet(j); ex.ReNameWorkSheet(j, "Sheet" + (j)); int prepageindex = j - 1; //主题 int starow = prepageindex * 16 + 1; int endrow = j * 16; if (objlist.Count > endrow) { for (int i = 0; i < 16; i++) { ex.SetCellValue(objlist[starow - 1 + i].gth, rowcount + 1 + i, 1); ex.SetCellValue(objlist[starow - 1 + i].gzwz, rowcount + 1 + i, 2); ex.SetCellValue(objlist[starow - 1 + i].sbmc, rowcount + 1 + i, 3); ex.SetCellValue(objlist[starow - 1 + i].jddz.ToString(), rowcount + 1 + i, 4); ex.SetCellValue(objlist[starow - 1 + i].CreateDate.Year.ToString(), rowcount + 1 + i, 5); ex.SetCellValue(objlist[starow - 1 + i].CreateDate.Month.ToString(), rowcount + 1 + i, 6); ex.SetCellValue(objlist[starow - 1 + i].CreateDate.Day.ToString(), rowcount + 1 + i, 7); ex.SetCellValue(objlist[starow - 1 + i].trdzr.ToString(), rowcount + 1 + i, 8); ex.SetCellValue(objlist[starow - 1 + i].tz.ToString(), rowcount + 1 + i, 9); ex.SetCellValue(objlist[starow - 1 + i].xhgg, rowcount + 1 + i, 10); ex.SetCellValue(objlist[starow - 1 + i].fzxl, rowcount + 1 + i, 11); ex.SetCellValue(objlist[starow - 1 + i].CreateMan, rowcount + 1 + i, 12); } } else if (objlist.Count <= endrow && objlist.Count >= starow) { for (int i = 0; i < objlist.Count - starow + 1; i++) { ex.SetCellValue(objlist[starow - 1 + i].gth, rowcount + 1 + i, 1); ex.SetCellValue(objlist[starow - 1 + i].gzwz, rowcount + 1 + i, 2); ex.SetCellValue(objlist[starow - 1 + i].sbmc, rowcount + 1 + i, 3); ex.SetCellValue(objlist[starow - 1 + i].jddz.ToString(), rowcount + 1 + i, 4); ex.SetCellValue(objlist[starow - 1 + i].CreateDate.Year.ToString(), rowcount + 1 + i, 5); ex.SetCellValue(objlist[starow - 1 + i].CreateDate.Month.ToString(), rowcount + 1 + i, 6); ex.SetCellValue(objlist[starow - 1 + i].CreateDate.Day.ToString(), rowcount + 1 + i, 7); ex.SetCellValue(objlist[starow - 1 + i].trdzr.ToString(), rowcount + 1 + i, 8); ex.SetCellValue(objlist[starow - 1 + i].tz.ToString(), rowcount + 1 + i, 9); ex.SetCellValue(objlist[starow - 1 + i].xhgg, rowcount + 1 + i, 10); ex.SetCellValue(objlist[starow - 1 + i].fzxl, rowcount + 1 + i, 11); ex.SetCellValue(objlist[starow - 1 + i].CreateMan, rowcount + 1 + i, 12); //ex.SetCellValue(objlist[starow - 1 + i].Remark, rowcount + i, 10); } } } ex.ActiveSheet(1); ex.ShowExcel(); }
public void ExportExcel(ExcelAccess ex ,IList<PJ_clcrkd> datalist) { //此处写填充内容代码 int row = 7; int col = 1; int rowcount = 10; // if (datalist.Count < 1) return; Regex r1 = new Regex("[0-9]+"); string str = r1.Match(datalist[0].num).Value; if (str == "") { str = datalist[0].num; } string tablename = datalist[0].ssgc + datalist[0].ssxm + str; if (tablename.Length > 30) { tablename = tablename.Substring(tablename.Length - 31); } //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(datalist.Count, rowcount)) { pageindex = Ecommon.GetPagecount(datalist.Count, rowcount); } for (int j = 1; j <= pageindex; j++) { ex.CopySheet(1, j); if (j == 1) ex.ReNameWorkSheet(j + 1, tablename); else ex.ReNameWorkSheet(j + 1, tablename + "(" + (j) + ")"); } for (int j = 0; j < datalist.Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet(tablename); else ex.ActiveSheet(tablename + "(" + (j / rowcount + 1) + ")"); ex.SetCellValue(datalist[j].ssgc, 2, 3); ex.SetCellValue(datalist[j].ssxm, 4, 2); ex.SetCellValue(datalist[j].ckdate.ToString("yyyy"), 4, 7); ex.SetCellValue(datalist[j].ckdate.ToString("MM"), 4, 9); ex.SetCellValue(datalist[j].ckdate.ToString("dd"), 4, 11); ex.SetCellValue(datalist[j].ssgc, 22, 3); ex.SetCellValue(datalist[j].ssxm, 24, 2); ex.SetCellValue(datalist[j].ckdate.ToString("yyyy"), 24, 7); ex.SetCellValue(datalist[j].ckdate.ToString("MM"), 24, 9); ex.SetCellValue(datalist[j].ckdate.ToString("dd"), 24, 11); ex.SetCellValue(datalist[j].ssgc, 42, 3); ex.SetCellValue(datalist[j].ssxm, 44, 2); ex.SetCellValue(datalist[j].ckdate.ToString("yyyy"), 44, 7); ex.SetCellValue(datalist[j].ckdate.ToString("MM"), 44, 9); ex.SetCellValue(datalist[j].ckdate.ToString("dd"), 44, 11); ex.SetCellValue(datalist[j].ssgc, 62, 3); ex.SetCellValue(datalist[j].ssxm, 64, 2); ex.SetCellValue(datalist[j].indate.ToString("yyyy"), 64, 7); ex.SetCellValue(datalist[j].indate.ToString("MM"), 64, 9); ex.SetCellValue(datalist[j].indate.ToString("dd"), 64, 11); } ex.SetCellValue(datalist[j].wpmc, row + j % rowcount , col); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount , col + 2); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount, col + 4); ex.SetCellValue(datalist[j].cksl, row + j % rowcount, col + 5); ex.SetCellValue(datalist[j].wpdj, row + j % rowcount , col + 7); ex.SetCellValue(datalist[j].wpmc, row + j % rowcount+20, col); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount + 20, col + 2); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount + 20, col + 4); ex.SetCellValue(datalist[j].cksl, row + j % rowcount + 20, col + 5); ex.SetCellValue(datalist[j].wpdj, row + j % rowcount + 20, col + 7); ex.SetCellValue(datalist[j].wpmc, row + j % rowcount + 40, col); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount + 40, col + 2); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount + 40, col + 4); ex.SetCellValue(datalist[j].cksl, row + j % rowcount + 40, col + 5); ex.SetCellValue(datalist[j].wpdj, row + j % rowcount + 40, col + 7); ex.SetCellValue(datalist[j].wpmc, row + j % rowcount + 60, col); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount + 60, col + 2); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount + 60, col + 4); ex.SetCellValue(datalist[j].cksl, row + j % rowcount + 60, col + 5); ex.SetCellValue(datalist[j].wpdj, row + j % rowcount + 60, col + 7); if (datalist[j].wpdj != "") { long value = Convert.ToInt64(Math.Round(Convert.ToDouble(datalist[j].cksl) * Convert.ToDouble(datalist[j].wpdj), 2) * 100); int index = 19; while (value > 0) { long ifen = value % 10; ex.SetCellValue(ifen.ToString(), row + j % rowcount, index); ex.SetCellValue(ifen.ToString(), row + j % rowcount + 20, index); ex.SetCellValue(ifen.ToString(), row + j % rowcount + 40, index); ex.SetCellValue(ifen.ToString(), row + j % rowcount + 60, index); value = value / 10; index--; } } ex.SetCellValue(datalist[j].Remark, 17, 2); ex.SetCellValue(datalist[j].Remark, 17 + 20, 2); ex.SetCellValue(datalist[j].Remark, 17 + 40, 2); ex.SetCellValue(datalist[j].Remark, 17 + 60, 2); //ex.SetCellValue(datalist[j].zrr, row + j % rowcount, col + 7); } }
public void ExportExcel(ExcelAccess ex, IList<PJ_clcrkd> datalist, string wpmc) { //此处写填充内容代码 int row = 5; int col = 2; int rowcount = 18; // //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(datalist.Count, rowcount)) { pageindex = Ecommon.GetPagecount(datalist.Count, rowcount); } for (int j = 1; j <= pageindex; j++) { ex.CopySheet(1, j); if (j == 1) ex.ReNameWorkSheet(j + 1, wpmc); else ex.ReNameWorkSheet(j + 1, wpmc + (j)); } for (int j = 0; j < datalist.Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet(wpmc); else ex.ActiveSheet(wpmc + (j / rowcount + 1)); } ex.SetCellValue(datalist[j].wpmc, row + j % rowcount, col ); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount, col + 1); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount, col + 2); ex.SetCellValue(datalist[j].wpsl, row + j % rowcount, col + 3); ex.SetCellValue(datalist[j].wpdj, row + j % rowcount, col + 4); ex.SetCellValue(datalist[j].wpcj, row + j % rowcount, col + 5); ex.SetCellValue(datalist[j].indate.ToString("yyyy年MM月dd日"), row + j % rowcount, col + 6); ex.SetCellValue(datalist[j].ssgc, row + j % rowcount, col + 7); if(datalist[j].type.IndexOf ("入库单")==-1) ex.SetCellValue(datalist[j].ckdate.ToString("yyyy年MM月dd日"), row + j % rowcount, col + 8); ex.SetCellValue(datalist[j].yt, row + j % rowcount, col + 9); ex.SetCellValue(datalist[j].cksl, row + j % rowcount, col + 10); ex.SetCellValue(datalist[j].cksl, row + j % rowcount, col + 11); ex.SetCellValue(datalist[j].lqdw, row + j % rowcount, col + 12); //ex.SetCellValue(datalist[j].zrr, row + j % rowcount, col + 7); if (datalist[j].wpmc == "出库合计") { return; } } }
public void ExportExcel(ExcelAccess ex ,IList<PJ_anqgjcrkd> datalist) { //此处写填充内容代码 int row = 5; int col = 1; int rowcount = 41; // //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(datalist.Count, rowcount)) { pageindex = Ecommon.GetPagecount(datalist.Count, rowcount); } for (int j = 1; j <= pageindex; j++) { ex.CopySheet(1, j); if (j == 1) { ex.ReNameWorkSheet(j + 1, datalist[0].num); } else ex.ReNameWorkSheet(j + 1, datalist[0].num+"(" + (j)+")"); } for (int j = 0; j < datalist.Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet( datalist[0].num); else ex.ActiveSheet( datalist[0].num + "(" + (j / rowcount + 1)+")"); ex.SetCellValue(datalist[j].indate.ToString("yyyy年MM月dd日"), 3, 2); ex.SetCellValue(datalist[j].indate.ToString("yyyy年MM月dd日"), 3, 6); } ex.SetCellValue((j+1).ToString(), row + j % rowcount, col); ex.SetCellValue(datalist[j].wpmc, row + j % rowcount, col+1 ); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount, col + 3); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount, col + 4); ex.SetCellValue(datalist[j].wpsl, row + j % rowcount, col + 5); ex.SetCellValue(datalist[j].wpdj, row + j % rowcount, col + 6); ex.SetCellValue((Convert.ToDouble(datalist[j].wpsl)*Convert.ToDouble(datalist[j].wpdj)).ToString() , row + j % rowcount, col + 7); //ex.SetCellValue(datalist[j].zrr, row + j % rowcount, col + 7); } }
public void ExportExcel(ExcelAccess ex ,IList<PJ_anqgjcrkd> datalist) { //此处写填充内容代码 int row = 4; int col = 1; int rowcount = 23; // //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(datalist.Count, rowcount)) { pageindex = Ecommon.GetPagecount(datalist.Count, rowcount); } for (int j = 1; j <= pageindex; j++) { ex.CopySheet(1, j); if (j == 1) ex.ReNameWorkSheet(j + 1, datalist[0].num); else ex.ReNameWorkSheet(j + 1, datalist[0].num + "(" + (j) + ")"); } for (int j = 0; j < datalist.Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet(datalist[0].num); else ex.ActiveSheet( datalist[0].num + "(" + (j / rowcount + 1) + ")"); ex.SetCellValue(datalist[j].OrgName, 2, 2); } ex.SetCellValue((j + 1).ToString(), row + j % rowcount, col); ex.SetCellValue(datalist[j].wpmc, row + j % rowcount, col + 1); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount, col + 2); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount, col + 3); ex.SetCellValue(datalist[j].cksl, row + j % rowcount, col + 4); ex.SetCellValue(datalist[j].lqdw, row + j % rowcount, col + 5); ex.SetCellValue(datalist[j].Remark, row + j % rowcount, col + 6); //ex.SetCellValue(datalist[j].zrr, row + j % rowcount, col + 7); } }
public void ExportExcel(ExcelAccess ex, IList<PJ_anqgjcrkd> datalist, string wpmc) { //此处写填充内容代码 int row = 4; int col = 2; int rowcount = 18; // //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(datalist.Count, rowcount)) { pageindex = Ecommon.GetPagecount(datalist.Count, rowcount); } for (int j = 1; j <= pageindex; j++) { ex.CopySheet(1, j); if (j == 1) ex.ReNameWorkSheet(j + 1, wpmc); else ex.ReNameWorkSheet(j + 1, wpmc + (j)); } for (int j = 0; j < datalist.Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet(wpmc); else ex.ActiveSheet(wpmc + (j / rowcount + 1)); } ex.SetCellValue((j + 1).ToString(), row + j % rowcount, col); ex.SetCellValue(datalist[j].wpmc, row + j % rowcount, col ); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount, col + 1); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount, col + 2); ex.SetCellValue(datalist[j].wpsl, row + j % rowcount, col + 3); ex.SetCellValue(datalist[j].wpsl, row + j % rowcount, col + 4); ex.SetCellValue(datalist[j].indate.ToString("yyyy年MM月dd日"), row + j % rowcount, col +5); ex.SetCellValue(datalist[j].cksl, row + j % rowcount, col + 6); ex.SetCellValue(datalist[j].ckdate.ToString("yyyy年MM月dd日"), row + j % rowcount, col + 7); ex.SetCellValue(datalist[j].OrgName, row + j % rowcount, col + 8); ex.SetCellValue(datalist[j].zkcsl, row + j % rowcount, col + 10); } }
public void ExportExcel(ExcelAccess ex, Object datalist, string orgid, string sheetname) { //此处写填充内容代码 int row = 6; int col = 1; int rowcount = 15; int i = 0, sheetindex = 0; // Excel.Workbook wb = ex.MyWorkBook as Excel.Workbook; //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(((IList)datalist).Count, rowcount)) { pageindex = Ecommon.GetPagecount(((IList)datalist).Count, rowcount); } for (i = 1; i <= wb.Application.Worksheets.Count; i++) { Excel.Worksheet sheet = wb.Application.Worksheets[i] as Excel.Worksheet; if (sheet.Name == sheetname) { sheetindex = sheet.Index; break; } } int itemp = sheetindex; //for (int j = 1; j <pageindex; j++) //{ // ex.CopySheet(1, j); //} for (i = 1; i < pageindex; i++) { ex.CopySheet(sheetindex, itemp); ex.ReNameWorkSheet(itemp + 1, sheetname + (i + 1)); itemp++; } for (int j = 0; j < ((IList)datalist).Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet(sheetname); else ex.ActiveSheet(sheetname+(j / rowcount + 1)); if (orgid != "") { if (datalist is IList<PJ_sbbzqsbgmxb1>) { ex.SetCellValue(((PJ_sbbzqsbgmxb1)((IList)datalist)[j]).OrgName, 4, 2); } else if (datalist is IList<PJ_sbbzqsbgmxb2>) { ex.SetCellValue(((PJ_sbbzqsbgmxb2)((IList)datalist)[j]).OrgName, 4, 2); } else if (datalist is IList<PJ_sbbzqsbgmxb3>) { ex.SetCellValue(((PJ_sbbzqsbgmxb3)((IList)datalist)[j]).OrgName, 4, 2); } else if (datalist is IList<PJ_sbbzqsbgmxb4>) { ex.SetCellValue(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).OrgName, 4, 2); } else if (datalist is IList<PJ_sbbzqsbgmxb5>) { ex.SetCellValue(((PJ_sbbzqsbgmxb5)((IList)datalist)[j]).OrgName, 4, 2); } } else ex.SetCellValue(MainHelper.UserCompany, 4, 2); ex.SetCellValue(DateTime.Now.ToString("yyyy年MM月dd日"), 4,5); } ex.SetCellValue((j + 1).ToString(), row + j % rowcount, col); if (datalist is IList<PJ_sbbzqsbgmxb1>) { ex.SetCellValue(((PJ_sbbzqsbgmxb1)((IList)datalist)[j]).sssbmc, row + j % rowcount, col + 1); ex.SetCellValue(((PJ_sbbzqsbgmxb1)((IList)datalist)[j]).sssswz, row + j % rowcount, col + 2); ex.SetCellValue(((PJ_sbbzqsbgmxb1)((IList)datalist)[j]).sssbbh, row + j % rowcount, col + 3); ex.SetCellValue(((PJ_sbbzqsbgmxb1)((IList)datalist)[j]).statuts, row + j % rowcount, col + 4); ex.SetCellValue(((PJ_sbbzqsbgmxb1)((IList)datalist)[j]).Remark, row + j % rowcount, col + 5); } else if (datalist is IList<PJ_sbbzqsbgmxb2>) { ex.SetCellValue(((PJ_sbbzqsbgmxb2)((IList)datalist)[j]).sssbmc, row + j % rowcount, col + 1); ex.SetCellValue(((PJ_sbbzqsbgmxb2)((IList)datalist)[j]).sssswz, row + j % rowcount, col + 2); ex.SetCellValue(((PJ_sbbzqsbgmxb2)((IList)datalist)[j]).sssbbh, row + j % rowcount, col + 3); ex.SetCellValue(((PJ_sbbzqsbgmxb2)((IList)datalist)[j]).statuts, row + j % rowcount, col + 4); ex.SetCellValue(((PJ_sbbzqsbgmxb2)((IList)datalist)[j]).Remark, row + j % rowcount, col + 5); } else if (datalist is IList<PJ_sbbzqsbgmxb3>) { ex.SetCellValue(((PJ_sbbzqsbgmxb3)((IList)datalist)[j]).sssbmc, row + j % rowcount, col + 1); ex.SetCellValue(((PJ_sbbzqsbgmxb3)((IList)datalist)[j]).sssswz, row + j % rowcount, col + 2); ex.SetCellValue(((PJ_sbbzqsbgmxb3)((IList)datalist)[j]).sssbbh, row + j % rowcount, col + 3); ex.SetCellValue(((PJ_sbbzqsbgmxb3)((IList)datalist)[j]).statuts, row + j % rowcount, col + 4); ex.SetCellValue(((PJ_sbbzqsbgmxb3)((IList)datalist)[j]).Remark, row + j % rowcount, col + 5); } else if (datalist is IList<PJ_sbbzqsbgmxb4>) { ex.SetCellValue(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).sssbmc, row + j % rowcount, col + 1); ex.SetCellValue(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).sssswz, row + j % rowcount, col + 2); ex.SetCellValue(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).sssbbh, row + j % rowcount, col + 3); ex.SetCellValue(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).statuts, row + j % rowcount, col + 4); ex.SetCellValue(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).statuts, row + j % rowcount, col + 5); ex.SetCellValue(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).xw, row + j % rowcount, col + 6); ex.SetCellValue(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).hj.Replace(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).xw, ""), row + j % rowcount, col + 7); } else if (datalist is IList<PJ_sbbzqsbgmxb5>) { ex.SetCellValue(((PJ_sbbzqsbgmxb5)((IList)datalist)[j]).sssbmc, row + j % rowcount, col + 1); ex.SetCellValue(((PJ_sbbzqsbgmxb5)((IList)datalist)[j]).sssswz, row + j % rowcount, col + 2); ex.SetCellValue(((PJ_sbbzqsbgmxb5)((IList)datalist)[j]).sssbbh, row + j % rowcount, col + 3); ex.SetCellValue(((PJ_sbbzqsbgmxb5)((IList)datalist)[j]).statuts, row + j % rowcount, col + 4); ex.SetCellValue(((PJ_sbbzqsbgmxb5)((IList)datalist)[j]).statuts, row + j % rowcount, col + 5); ex.SetCellValue(((PJ_sbbzqsbgmxb5)((IList)datalist)[j]).xw, row + j % rowcount, col + 6); ex.SetCellValue(((PJ_sbbzqsbgmxb5)((IList)datalist)[j]).hj.Replace(((PJ_sbbzqsbgmxb4)((IList)datalist)[j]).xw, ""), row + j % rowcount, col + 7); } //ex.SetCellValue(datalist[j].zrr, row + j % rowcount, col + 7); } }
public void ExportExcel(ExcelAccess ex, IList<PJ_xlsbzrqhfmbb> datalist, string wpmc) { //此处写填充内容代码 int row = 5; int col = 1; int rowcount = 6; int rowspan = 8; // //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(datalist.Count, rowcount)) { pageindex = Ecommon.GetPagecount(datalist.Count, rowcount); } //for (int j = 1; j <= pageindex; j++) //{ // if (j > 1) // { // ex.CopySheet(1, 1); // } //} Excel.Workbook wb = ex.MyWorkBook as Excel.Workbook; for (int j = 1; j <= pageindex; j++) { ex.CopySheet(1, wb.Application.Worksheets.Count); if (j == 1) ex.ReNameWorkSheet( wb.Application.Worksheets.Count, wpmc); else ex.ReNameWorkSheet( wb.Application.Worksheets.Count, wpmc + (j)); } //DateTime dt = DateTime.Now; //dt=dt.AddMonths(1); //ex.SetCellValue(dt.Year + "年" + (dt.Month) + "月份配电设备停电检修计划表", 1, 1); for (int j = 0; j < datalist.Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet(wpmc); else ex.ActiveSheet(wpmc + (j / rowcount + 1)); //ex.SetCellValue(datalist[j].OrgName, 2, 3); //ex.SetCellValue(DateTime.Now.Year.ToString(), 2, 9); //ex.SetCellValue(DateTime.Now.Month.ToString(), 2, 11); //ex.SetCellValue(DateTime.Now.Day.ToString(), 2, 13); ex.SetCellValue(DateTime.Now.ToString("yyyy年MM月dd日"), 4, 13); } ex.SetCellValue(datalist[j].jsxl, row + j % rowcount, col ); ex.SetCellValue(datalist[j].zjxl, row + j % rowcount, col + 1); ex.SetCellValue(datalist[j].gytq, row + j % rowcount + rowspan, col); ex.SetCellValue(datalist[j].zytq, row + j % rowcount + rowspan, col + 1); ////停送电时间 //ex.SetCellValue(datalist[j].TDtime.Month.ToString(), row + j % rowcount, col + 4); //ex.SetCellValue(datalist[j].TDtime.Day.ToString(), row + j % rowcount, col + 5); //ex.SetCellValue(datalist[j].TDtime.Hour.ToString(), row + j % rowcount, col + 6); //ex.SetCellValue(datalist[j].TDtime.Minute.ToString(), row + j % rowcount, col + 7); //ex.SetCellValue(datalist[j].SDtime.Month.ToString(), row + j % rowcount, col + 8); //ex.SetCellValue(datalist[j].SDtime.Day.ToString(), row + j % rowcount, col + 9); //ex.SetCellValue(datalist[j].SDtime.Hour.ToString(), row + j % rowcount, col + 10); //ex.SetCellValue(datalist[j].SDtime.Minute.ToString(), row + j % rowcount, col + 11); ////配合检修单位 //ex.SetCellValue(datalist[j].ASSOrgname, row + j % rowcount, col + 12); //ex.SetCellValue(datalist[j].Remark, row + j % rowcount, col + 13); } }
public void ExportExcel(ExcelAccess ex ,IList<PJ_wgclcrkd> datalist) { //此处写填充内容代码 int row = 8; int col = 2; int rowcount = 25; if (datalist.Count < 1) return; Regex r1 = new Regex("[0-9]+"); string str = r1.Match(datalist[0].num).Value; if (str == "") { str = datalist[0].num; } string tablename = datalist[0].ssgc + datalist[0].ssxm + str; if (tablename.Length > 30) { tablename = tablename.Substring(tablename.Length - 31); } // //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(datalist.Count, rowcount)) { pageindex = Ecommon.GetPagecount(datalist.Count, rowcount); } for (int j = 1; j <= pageindex; j++) { ex.CopySheet(1, j); if (j == 1) ex.ReNameWorkSheet(j + 1, tablename); else ex.ReNameWorkSheet(j + 1, tablename + "(" + (j) + ")"); } for (int j = 0; j < datalist.Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet(tablename); else ex.ActiveSheet(tablename + "(" + (j / rowcount + 1) + ")"); ex.SetCellValue(datalist[j].ssgc, 3, 4); ex.SetCellValue(datalist[j].lqdw, 6, 3); ex.SetCellValue(datalist[j].ghdw, 6, 14); ex.SetCellValue(datalist[j].ckdate.ToString("yyyy"), 4, 4); ex.SetCellValue(datalist[j].ckdate.ToString("MM"), 4, 7); ex.SetCellValue(datalist[j].ckdate.ToString("dd"), 4, 9); ex.SetCellValue(datalist[j].ssgc, 36, 4); ex.SetCellValue(datalist[j].lqdw, 39, 3); ex.SetCellValue(datalist[j].ghdw, 39, 14); ex.SetCellValue(datalist[j].ckdate.ToString("yyyy"), 37, 7); ex.SetCellValue(datalist[j].ckdate.ToString("MM"), 37, 9); ex.SetCellValue(datalist[j].ckdate.ToString("dd"), 37, 11); ex.SetCellValue(datalist[j].ssgc, 69, 4); ex.SetCellValue(datalist[j].lqdw, 72, 3); ex.SetCellValue(datalist[j].ghdw, 72, 14); ex.SetCellValue(datalist[j].ckdate.ToString("yyyy"), 70, 7); ex.SetCellValue(datalist[j].ckdate.ToString("MM"), 70, 9); ex.SetCellValue(datalist[j].ckdate.ToString("dd"), 70, 11); } ex.SetCellValue(datalist[j].wpmc, row + j % rowcount , col); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount , col + 4); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount, col + 8); ex.SetCellValue(datalist[j].cksl, row + j % rowcount, col + 10); ex.SetCellValue(datalist[j].Remark, row + j % rowcount, col + 12); ex.SetCellValue(datalist[j].wpmc, row + j % rowcount+33, col); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount + 33, col + 4); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount + 33, col + 8); ex.SetCellValue(datalist[j].cksl, row + j % rowcount + 33, col + 10); ex.SetCellValue(datalist[j].Remark, row + j % rowcount + 33, col + 12); ex.SetCellValue(datalist[j].wpmc, row + j % rowcount + 66, col); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount + 66, col + 4); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount + 66, col + 8); ex.SetCellValue(datalist[j].cksl, row + j % rowcount + 66, col + 10); ex.SetCellValue(datalist[j].Remark, row + j % rowcount + 66, col + 12); //long value = Convert.ToInt64(Math.Round(Convert.ToDouble(datalist[j].cksl) * Convert.ToDouble(datalist[j].wpdj), 2) * 100); //int index = 19; //while (value > 0) //{ // long ifen = value % 10; // ex.SetCellValue(ifen.ToString(), row + j % rowcount, index); // ex.SetCellValue(ifen.ToString(), row + j % rowcount + 20, index); // ex.SetCellValue(ifen.ToString(), row + j % rowcount + 40, index); // ex.SetCellValue(ifen.ToString(), row + j % rowcount + 60, index); // value = value/ 10; // index--; //} //ex.SetCellValue(datalist[j].zrr, row + j % rowcount, col + 7); } }
//public static int ExportToExcel(string title, string dw,PJ_17 pj17) //{ // string fname = Application.StartupPath + "\\00记录模板\\17线路条图.xls"; // string outfname = Application.StartupPath + "\\17线路条图.xls"; // float fxstart = 0,fystart = 0, fwidth = 0,fheight=0; // FpSpread fps = new FpSpread(); // FarPoint.Win.Spread.Model.CellRange cr = new FarPoint.Win.Spread.Model.CellRange(2, 2, 12, 12); // FarPoint.Win.LineBorder b = new FarPoint.Win.LineBorder(Color.Black, 1); // FarPoint.Win.LineBorder b2 = new FarPoint.Win.LineBorder(Color.Black, 2); // fps.OpenExcel(fname); // SheetView sv = fps.Sheets[0]; // PS_xl xl = MainHelper.PlatformSqlMap.GetOne<PS_xl>(" where LineCode='" + pj17.LineCode + "'"); // if (xl == null) // { // MsgBox.ShowWarningMessageBox("数据出错,没找到线路"); // return -1; // } // int ColumnCount = sv.NonEmptyColumnCount; // int RowCount = sv.NonEmptyRowCount; // int ihang = 0,jlie=0; // int i = 0; // sv.ClearRange(0, 0, RowCount, ColumnCount, false); // //cr = new FarPoint.Win.Spread.Model.CellRange(4, 0, 23, 11); // //sv.SetOutlineBorder(cr, b); // sv.Cells[ihang, jlie].Text = title; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 22F, System.Drawing.FontStyle.Regular | FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height =40; // sv.Cells[ihang, jlie].ColumnSpan = ColumnCount; // ihang = 1; // sv.Cells[ihang, jlie].Row.Height = 15; // #region 线路名称 // ihang = 2; // sv.Cells[ihang, jlie].Text = "线路名称:"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Right; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 1; // sv.Cells[ihang, jlie].Row.Height = 50; // string str =""; // string[] strname=new string[3]; // strname[0] = ""; // strname[1] = ""; // strname[2] = ""; // //if (xl.LineName.IndexOf("线") > 0) // //{ // // strname[0] = xl.LineName.Split('线')[0]; // // strname[1] = xl.LineName.Replace(strname[0]+"线",""); // //} // //else // // strname[1] = xl.LineName; // //if (strname[1].IndexOf("支") > 0) // //{ // // str = strname[1]; // // strname[1] = strname[1].Split('支')[0]; // // strname[2] = str.Replace(strname[1] + "支", ""); // //} // //else // //{ // // strname[2] = strname[1]; // // strname[1] = ""; // //} // //if (strname[2].IndexOf("分") < 0) // //{ // // if (strname[1] != "") // // strname[1] = strname[1] + "支" + strname[2]; // // else // // strname[0] = strname[0] + "线" + strname[2]; // // strname[2] = ""; // //} // //else // //{ // // strname[2] = strname[2].Split('分')[0]; // //} // if (xl.LineName.IndexOf("线") > 0) // { // strname[0] = xl.LineName.Split('线')[0]; // strname[1] = xl.LineName.Replace(strname[0] + "线", ""); // } // else // if (xl.LineName.IndexOf("支") > 0) // { // PS_xl xltemp = MainHelper.PlatformSqlMap.GetOne<PS_xl>(" where LineCode='" + xl.ParentID + "'"); // strname[0]=xltemp.LineName; // strname[1] = xl.LineName; // } // else if (xl.LineName.IndexOf("分") > 0) // { // PS_xl xltemp = MainHelper.PlatformSqlMap.GetOne<PS_xl>(" where LineCode='" + xl.ParentID + "'"); // if (xltemp != null) // { // strname[1] = xltemp.LineName; // xltemp = MainHelper.PlatformSqlMap.GetOne<PS_xl>(" where LineCode='" + xltemp.ParentID + "'"); // if (xltemp != null) strname[0] = xltemp.LineName; // } // } // //if (strname[2].IndexOf("分") < 0) // //{ // // if (strname[1] != "") // // strname[1] = strname[1] + "支" + strname[2]; // // else // // strname[0] = strname[0] + "线" + strname[2]; // // strname[2] = ""; // //} // //else // //{ // // strname[2] = strname[2].Split('分')[0]; // //} // jlie = 1; // sv.Cells[ihang, jlie].Text = strname[0]; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // //sv.Cells[ihang, jlie].ColumnSpan = 3; // jlie ++; // sv.Cells[ihang, jlie].Text = "线"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Left; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Column.Width = 60f; // jlie++; // sv.Cells[ihang, jlie].Text = strname[1]; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // //sv.Cells[ihang, jlie].ColumnSpan = 3; // jlie++; // sv.Cells[ihang, jlie].Text = "支"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Left; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Column.Width = 30f; // jlie++; // sv.Cells[ihang, jlie].Text = strname[2]; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // //sv.Cells[ihang, jlie].ColumnSpan = 3; // jlie++; // sv.Cells[ihang, jlie].Text = "分"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Left; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Column.Width = 30f; // jlie ++; // sv.Cells[ihang, jlie].Text = "电压:"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Right; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // //sv.Cells[ihang, jlie].ColumnSpan = 3; // sv.Cells[ihang, jlie].Column.Width = 30f; // jlie++; // sv.Cells[ihang, jlie].Text = xl.LineVol; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Right; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Column.Width = 30f; // jlie ++; // sv.Cells[ihang, jlie].Text = "kV"; // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Right; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Column.Width = 30f; // #endregion // #region 表格外框 // ihang =4; // jlie = 0; // sv.Cells[ihang, jlie].Text = "平"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // sv.Cells[ihang, jlie].Row.Height = 80; // fheight += sv.Cells[ihang, jlie].Row.Height; // //fxstart += sv.Cells[ihang, jlie].Column.Width; // jlie = 2; // sv.Cells[ihang, jlie].Text = "A 相"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Left; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // ihang++; // jlie = 0; // sv.Cells[ihang, jlie].Text = "面"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // sv.Cells[ihang, jlie].Row.Height = 80; // fheight += sv.Cells[ihang, jlie].Row.Height; // jlie = 2; // sv.Cells[ihang, jlie].Text = "B 相"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Left; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // ihang++; // jlie = 0; // sv.Cells[ihang, jlie].Text = "图"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // sv.Cells[ihang, jlie].Row.Height = 80; // fheight += sv.Cells[ihang, jlie].Row.Height; // jlie = 2; // sv.Cells[ihang, jlie].Text = "C 相"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Left; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // cr = new FarPoint.Win.Spread.Model.CellRange(4, 0, 3, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // jlie =0; // sv.Cells[ihang, jlie].Text = "杆号"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "转角方向"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "杆高(m)"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "电杆种类及杆型"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "导线排列方式"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "导线规格"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "档距(m)"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "累计长度(m)"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "横担规格(mm)"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "拉线规格"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, 0, 1, 2); // sv.SetOutlineBorder(cr, b); // ihang++; // jlie = 0; // sv.Cells[ihang, jlie].Text = "绝缘子"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // sv.Cells[ihang, jlie].RowSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 2, 1); // sv.SetOutlineBorder(cr, b); // jlie = 1; // sv.Cells[ihang, jlie].Text = "规格"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, 1); // sv.SetOutlineBorder(cr, b); // ihang++; // jlie =1; // sv.Cells[ihang, jlie].Text = "数量"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1,1); // sv.SetOutlineBorder(cr, b); // ihang++; // jlie = 0; // sv.Cells[ihang, jlie].Text = "变台"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].RowSpan = 4; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 4, 1); // sv.SetOutlineBorder(cr, b); // jlie = 1; // sv.Cells[ihang, jlie].Text = "型式"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, 1); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "配变型号"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, 1); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "台数"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, 1); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "容量"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, 1); // sv.SetOutlineBorder(cr, b); // ihang++; // jlie = 0; // sv.Cells[ihang, jlie].Text = "避雷器"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].RowSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 2,1); // sv.SetOutlineBorder(cr, b); // jlie = 1; // sv.Cells[ihang, jlie].Text = "规格"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, 1); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "数量"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, 1); // sv.SetOutlineBorder(cr, b); // ihang++; // jlie = 0; // sv.Cells[ihang, jlie].Text = "开关"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].RowSpan = 2; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 2, 1); // sv.SetOutlineBorder(cr, b); // jlie = 1; // sv.Cells[ihang, jlie].Text = "规格"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, 1); // sv.SetOutlineBorder(cr, b); // ihang++; // sv.Cells[ihang, jlie].Text = "数量"; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].Row.Height = 40; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, 1); // sv.SetOutlineBorder(cr, b); // #endregion // #region 填充数据 // int istart = 1, iend = 1; // if (xl.LineGtend!="") // istart =Convert.ToInt32(xl.LineGtbegin); // else // istart = 0; // if (xl.LineGtbegin != "") // iend = Convert.ToInt32(xl.LineGtend); // else // iend = 0; // int liespan = 1,lieindex=0,itemp=0,spantemp=0 ; // ihang = 7; // IList<PS_gt> gtlis = Client.ClientHelper.PlatformSqlMap.GetList<PS_gt>( " Where LineCode='"+xl.LineCode +"'"); // iend = gtlis.Count; // int[] gtwidth = new int[iend]; // Hashtable hs = new Hashtable(); // for (i = 1; i <= iend; i++) // { // //杆塔数 // PS_gt gtobj = gtlis[i - 1]; // //if (gtobj == null) break ; // //绝缘子 // IList<PS_gtsb> jyuzlist = Client.ClientHelper.PlatformSqlMap.GetList<PS_gtsb>(" Where sbName='绝缘子' and gtID='" + gtobj.gtID + "'"); // //变台 // IList<PS_gtsb> btlist = Client.ClientHelper.PlatformSqlMap.GetList<PS_gtsb>(" Where sbName='变台' and gtID='" + gtobj.gtID + "'"); // //避雷器 // IList<PS_gtsb> blqlist = Client.ClientHelper.PlatformSqlMap.GetList<PS_gtsb>(" Where sbName='避雷器' and gtID='" + gtobj.gtID + "'"); // //开关 // IList<PS_gtsb> kglist = Client.ClientHelper.PlatformSqlMap.GetList<PS_gtsb>(" Where sbName='开关' and gtID='" + gtobj.gtID + "'"); // //导线排列方式 // PS_gtsb dxobj = Client.ClientHelper.PlatformSqlMap.GetOne<PS_gtsb>(" Where sbName='导线' and gtID='" + gtobj.gtID + "'"); // //横担拉线规格 // PS_gtsb hdobj = Client.ClientHelper.PlatformSqlMap.GetOne<PS_gtsb>(" Where sbName='横担' and gtID='" + gtobj.gtID + "'"); // //拉线规格 // PS_gtsb lxobj = Client.ClientHelper.PlatformSqlMap.GetOne<PS_gtsb>(" Where sbName='拉线' and gtID='" + gtobj.gtID + "'"); // liespan = 1; // if (jyuzlist.Count > liespan) liespan = jyuzlist.Count; // if (btlist.Count > liespan) liespan = btlist.Count; // if (blqlist.Count > liespan) liespan = blqlist.Count; // if (kglist.Count > liespan) liespan = kglist.Count; // //杆号 // ihang = 7; // jlie = lieindex+2; // sv.Cells[ihang, jlie].Text = i.ToString(); // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = liespan; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // //转角方向 // ihang++; // sv.Cells[ihang, jlie].Text = ""; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = liespan; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // //杆高(m) // ihang++; // if (gtobj != null) // { // sv.Cells[ihang, jlie].Text = gtobj.gtHeight.ToString(); // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // } // sv.Cells[ihang, jlie].ColumnSpan = liespan; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // //电杆种类及杆型 // ihang++; // if (gtobj != null) // { // if (gtobj.gtType != "" && gtobj.gtModle != "") // sv.Cells[ihang, jlie].Text = gtobj.gtType + "/" + gtobj.gtModle; // else if (gtobj.gtType == "" && gtobj.gtModle != "") // sv.Cells[ihang, jlie].Text = gtobj.gtModle; // else if (gtobj.gtType != "" && gtobj.gtModle == "") // sv.Cells[ihang, jlie].Text = gtobj.gtType; // if (sv.Cells[ihang, jlie].Text == "混凝土拔梢杆/直线杆") // { // sv.Cells[ihang, jlie].Text = "砼/直线杆"; // } // else // if (sv.Cells[ihang, jlie].Text.IndexOf( "混凝土")>-1) // { // sv.Cells[ihang, jlie].Text = "砼"; // } // } // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie].ColumnSpan = liespan; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // //导线排列方式 // ihang++; // if (dxobj != null) // { // sv.Cells[ihang, jlie].Text = dxobj.C1; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // } // sv.Cells[ihang, jlie].ColumnSpan = liespan; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // //导线规格 // ihang++; // if (dxobj != null) // { // sv.Cells[ihang, jlie].Text = dxobj.sbModle; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // } // sv.Cells[ihang, jlie].ColumnSpan = liespan; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // //档距(m) // ihang++; // if (gtobj != null) // { // sv.Cells[ihang, jlie].Text = gtobj.gtSpan.ToString(); // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // } // sv.Cells[ihang, jlie].ColumnSpan = liespan; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // //累计长度(m) // ihang++; // //if (xl != null) // //{ // // sv.Cells[ihang, jlie].Text = xl.TotalLength.ToString(); // // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // //} // //sv.Cells[ihang, jlie].ColumnSpan = liespan; // //cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // //sv.SetOutlineBorder(cr, b); // //横担 // ihang++; // if (hdobj != null) // { // sv.Cells[ihang, jlie].Text = hdobj.sbModle; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // } // sv.Cells[ihang, jlie].ColumnSpan = liespan; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // //拉线规格 // ihang++; // if (lxobj != null) // { // sv.Cells[ihang, jlie].Text = lxobj.sbModle; // sv.Cells[ihang, jlie].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie].VerticalAlignment = CellVerticalAlignment.Center; // } // sv.Cells[ihang, jlie].ColumnSpan = liespan; // cr = new FarPoint.Win.Spread.Model.CellRange(ihang, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // //绝缘子 // ihang++; // spantemp = 0; // for (itemp = 0; itemp < jyuzlist.Count; itemp++) // { // sv.Cells[ihang, jlie + itemp].Text = jyuzlist[itemp ].sbModle; // sv.Cells[ihang, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie + itemp].ColumnSpan = 1; // sv.Cells[ihang + 1, jlie + itemp].Text = jyuzlist[itemp].sbNumber.ToString(); // sv.Cells[ihang + 1, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang + 1, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang + 1, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang + 1, jlie + itemp].ColumnSpan = sv.Cells[ihang, jlie + itemp].ColumnSpan; // ////自动行宽30f; // //fps.ActiveSheet.Columns[jlie + itemp].Width = fps.ActiveSheet.Columns[jlie + itemp].GetPreferredWidth(); // fps.ActiveSheet.Columns[jlie + itemp].Width = 30f; // } // for (itemp = 0; itemp < sv.Cells[ihang, 0].RowSpan; itemp++) // { // cr = new FarPoint.Win.Spread.Model.CellRange(ihang + itemp, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // } // if (!hs.ContainsKey(gtobj.gtID)) // hs.Add(gtobj.gtID, 0); // else // hs[gtobj.gtID] = 0; // //变台 // ihang += sv.Cells[ihang, 0].RowSpan; // for (itemp = 0; itemp < btlist.Count; itemp++) // { // sv.Cells[ihang, jlie + itemp].Text = btlist[itemp].sbType ; // sv.Cells[ihang, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie + itemp].ColumnSpan = 1; // if (btlist[itemp].sbType == "H台") // { // sv.Cells[4, jlie + itemp].Text = gtobj.gtCode; // if (!hs.ContainsKey(gtobj.gtID)) // hs.Add(gtobj.gtID, 1); // else // hs[gtobj.gtID] = 1; // } // sv.Cells[ihang + 1, jlie + itemp].Text = btlist[itemp].sbModle; // sv.Cells[ihang + 1, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang + 1, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang + 1, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang + 1, jlie + itemp].ColumnSpan = sv.Cells[ihang+1, jlie + itemp].ColumnSpan; // sv.Cells[ihang + 2, jlie + itemp].Text = btlist[itemp].sbNumber.ToString () ; // sv.Cells[ihang + 2, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang + 2, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang + 2, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang + 2, jlie + itemp].ColumnSpan = sv.Cells[ihang+2, jlie + itemp].ColumnSpan; // sv.Cells[ihang + 3, jlie + itemp].Text = btlist[itemp].C1 ; // sv.Cells[ihang + 3, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang + 3, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang + 3, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang + 3, jlie + itemp].ColumnSpan = sv.Cells[ihang+3, jlie + itemp].ColumnSpan; // ////自动行宽 // //fps.ActiveSheet.Columns[jlie + itemp].Width = fps.ActiveSheet.Columns[jlie + itemp].GetPreferredWidth(); // fps.ActiveSheet.Columns[jlie + itemp].Width = 30f; // } // for (itemp = 0; itemp < sv.Cells[ihang, 0].RowSpan; itemp++) // { // cr = new FarPoint.Win.Spread.Model.CellRange(ihang + itemp, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // } // //避雷器 // ihang += sv.Cells[ihang, 0].RowSpan; // for (itemp = 0; itemp < blqlist.Count; itemp++) // { // sv.Cells[ihang, jlie + itemp].Text = blqlist[itemp].sbModle; // sv.Cells[ihang, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie + itemp].ColumnSpan = 1; // sv.Cells[ihang + 1, jlie + itemp].Text = blqlist[itemp].sbNumber.ToString(); // sv.Cells[ihang + 1, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang + 1, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang + 1, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // //sv.Cells[ihang + 1, jlie + itemp].Column.Width = 80; // sv.Cells[ihang + 1, jlie + itemp].ColumnSpan = sv.Cells[ihang, jlie + itemp].ColumnSpan; // ////自动行宽 // //fps.ActiveSheet.Columns[jlie + itemp].Width = fps.ActiveSheet.Columns[i].GetPreferredWidth(); // fps.ActiveSheet.Columns[jlie + itemp].Width = 30f; // } // for (itemp = 0; itemp < sv.Cells[ihang, 0].RowSpan; itemp++) // { // cr = new FarPoint.Win.Spread.Model.CellRange(ihang + itemp, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // } // //开关 // ihang += sv.Cells[ihang, 0].RowSpan; // for (itemp = 0; itemp < kglist.Count; itemp++) // { // sv.Cells[ihang, jlie + itemp].Text = kglist[itemp].sbModle; // sv.Cells[ihang, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[ihang, jlie + itemp].ColumnSpan = 1; // sv.Cells[ihang + 1, jlie + itemp].Text = kglist[itemp].sbNumber.ToString(); // sv.Cells[ihang + 1, jlie + itemp].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[ihang + 1, jlie + itemp].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[ihang + 1, jlie + itemp].VerticalAlignment = CellVerticalAlignment.Center; // //sv.Cells[ihang + 1, jlie + itemp].Column.Width = 80; // sv.Cells[ihang + 1, jlie + itemp].ColumnSpan = sv.Cells[ihang+1, jlie + itemp].ColumnSpan; // ////自动行宽 // //fps.ActiveSheet.Columns[jlie + itemp].Width = fps.ActiveSheet.Columns[i].GetPreferredWidth(); // fps.ActiveSheet.Columns[jlie + itemp].Width = 30f; // } // for (itemp = 0; itemp < sv.Cells[ihang, 0].RowSpan; itemp++) // { // cr = new FarPoint.Win.Spread.Model.CellRange(ihang + itemp, jlie, 1, liespan); // sv.SetOutlineBorder(cr, b); // } // ////自动行宽 // //fps.ActiveSheet.Columns[jlie].Width = fps.ActiveSheet.Columns[jlie].GetPreferredWidth(); // fps.ActiveSheet.Columns[jlie + itemp].Width = 30f; // lieindex += liespan; // fwidth += fps.ActiveSheet.Columns[jlie].Width; // //for (itemp = 0; itemp < sv.Cells[8, jlie].ColumnSpan; itemp++) // // gtwidth[i - 1] += sv.Cells[ihang, jlie + itemp].Column.Width; // gtwidth[i - 1] = liespan; // } // cr = new FarPoint.Win.Spread.Model.CellRange(4, 2, 3, lieindex); // sv.SetOutlineBorder(cr, b); // //累计长度(m) // sv.Cells[14, 2].Text = xl.TotalLength.ToString(); // sv.Cells[14, 2].Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // sv.Cells[14, 2].HorizontalAlignment = CellHorizontalAlignment.Center; // sv.Cells[14, 2].VerticalAlignment = CellVerticalAlignment.Center; // sv.Cells[14, 2].ColumnSpan = lieindex; // cr = new FarPoint.Win.Spread.Model.CellRange(14, 2, 1, lieindex); // sv.SetOutlineBorder(cr, b); // ihang += sv.Cells[ihang, 0].RowSpan; // fystart = 0; // for (itemp = 0; itemp <=4; itemp++) // { // if(itemp <4) // fystart += sv.Cells[itemp, 0].Row.Height; // else // fystart += sv.Cells[itemp, 0].Row.Height/2; // } // #endregion // ColumnCount = sv.NonEmptyColumnCount; // RowCount = sv.NonEmptyRowCount; // sv.Cells[0, 0].ColumnSpan = ColumnCount; // fps.SaveExcel(outfname); // #region 画图形 // DSOFramerControl dsoFramerWordControl1 = new DSOFramerControl(); // dsoFramerWordControl1.FileOpen(outfname); // Microsoft.Office.Interop.Excel.Workbook wb; // Microsoft.Office.Interop.Excel.Worksheet xx; // try { // wb = dsoFramerWordControl1.AxFramerControl.ActiveDocument as Microsoft.Office.Interop.Excel.Workbook; // xx = wb.Application.Sheets[1] as Microsoft.Office.Interop.Excel.Worksheet; // } catch (Exception err) { // dsoFramerWordControl1.FileClose(); // throw new Exception("excel的打开方式不对,有可能装有wps", err); // } // Excel.Range range; // if (lieindex < 1) // range = (Excel.Range)xx.get_Range(xx.Cells[5, 1], xx.Cells[RowCount , ColumnCount]); // else // range = (Excel.Range)xx.get_Range(xx.Cells[5, 1], xx.Cells[RowCount, lieindex + 2]); // range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop].LineStyle = Excel.XlLineStyle.xlContinuous; // range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop].Weight = Excel.XlBorderWeight.xlThick; // range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeRight ].LineStyle = Excel.XlLineStyle.xlContinuous; // range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeRight].Weight = Excel.XlBorderWeight.xlThick; // range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeBottom ].LineStyle = Excel.XlLineStyle.xlContinuous; // range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeBottom].Weight = Excel.XlBorderWeight.xlThick; // float gwidth = 13.50F, gheifht = 15.75F; // Microsoft.Office.Interop.Excel.Shape activShape,oldShape=null; // int icolor = (int)(((uint)Color.White.B << 16) | (ushort)(((ushort)Color.White.G << 8) | Color.White.R)); // i =3; // range = (Excel.Range)xx.get_Range(xx.Cells[6, 1], xx.Cells[6,2]); // fxstart = (float)Convert.ToDouble(range.Cells.Width); // for (itemp = 0; itemp < gtlis.Count; itemp++) // { // range = (Excel.Range)xx.get_Range(xx.Cells[8, i], xx.Cells[8, i + gtwidth[itemp] - 1]); // float width = (float)Convert.ToDouble(range.Cells.Width); // if (hs[gtlis[itemp].gtID].ToString() == "1") // { // activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart - gwidth + width / 2, fystart, gwidth, gheifht); // //activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart, fystart, gwidth, gheifht); // activShape.Fill.ForeColor.RGB = icolor; // if (itemp > 0) // { // //Texture Image Recognition Algorithm Based on Steerable Pyramid Transform // xx.Shapes.AddLine(oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, activShape.Left, activShape.Top + activShape.Height / 2); // } // activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, activShape.Left + activShape.Width, fystart, gwidth, gheifht); // activShape.Fill.ForeColor.RGB = icolor; // } // else // { // activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart + width / 2, fystart, gwidth, gheifht); // //activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart, fystart, gwidth, gheifht); // activShape.Fill.ForeColor.RGB = icolor; // if (itemp > 0) // { // //Texture Image Recognition Algorithm Based on Steerable Pyramid Transform // xx.Shapes.AddLine(oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, activShape.Left, activShape.Top + activShape.Height / 2); // } // } // //fxstart += gtwidth[itemp]; // fxstart += width; // i += gtwidth[itemp]; // oldShape = activShape; // } // dsoFramerWordControl1.FileSave(); // pj17.BigData = dsoFramerWordControl1.FileDataGzip; // dsoFramerWordControl1.FileClose(); // dsoFramerWordControl1.Dispose(); // #endregion // //System.Diagnostics.Process.Start(outfname); // return 1; //} public static int ExportToExcel(string title, string dw, PJ_17 pj17) { string fname = Application.StartupPath + "\\00记录模板\\17线路条图2.xls"; float fxstart = 0, fystart = 0, fwidth = 0, fheight = 0; DSOFramerControl dsoFramerWordControl1 = new DSOFramerControl(); string outfname = Path.GetTempFileName() + ".xls"; File.Copy(fname, outfname); dsoFramerWordControl1.FileOpen(outfname); Microsoft.Office.Interop.Excel.Worksheet xx; Excel.Workbook wb = dsoFramerWordControl1.AxFramerControl.ActiveDocument as Excel.Workbook; ExcelAccess ex = new ExcelAccess(); ex.MyWorkBook = wb; ex.MyExcel = wb.Application; PS_xl xl = MainHelper.PlatformSqlMap.GetOne<PS_xl>(" where LineCode='" + pj17.LineCode + "'"); try { if (xl == null) { MsgBox.ShowWarningMessageBox("数据出错,没找到线路"); return -1; } string strLinexh = xl.WireType;//导线型号 PS_gt gtformer = null; IList<PS_gt> gtlis = Client.ClientHelper.PlatformSqlMap.GetList<PS_gt>(" Where LineCode='" + xl.LineCode + "' order by gtcode"); gtformer = Client.ClientHelper.PlatformSqlMap.GetOne<PS_gt>(" Where gtID='" + xl.ParentGT + "'"); gtlis.Insert(0, gtformer); //计算页码 int pagecount = 1, jmax = 15, m = 0, j = 0; pagecount = gtlis.Count / 15 + 1; int ihang = 8, jlie = 2; int i = 0; //复制空模板 for (m = 1; m < pagecount; m++) { ex.CopySheet(1, m); ex.ReNameWorkSheet(m + 1, "Sheet" + (m + 1)); } string[] strname = new string[3]; strname[0] = ""; strname[1] = ""; strname[2] = ""; if (xl.LineType == "1") { strname[0] = xl.LineName.Split('线')[0] + "线"; strname[1] = xl.LineName.Replace(strname[0], ""); } else if (xl.LineType == "2") { PS_xl xltemp = MainHelper.PlatformSqlMap.GetOne<PS_xl>(" where LineID='" + xl.ParentID + "'"); if (xltemp != null) strname[0] = xltemp.LineName; strname[1] = xl.LineName.Replace(xltemp.LineName, ""); } else if (xl.LineType == "3") { strname[2] = xl.LineName; PS_xl xltemp = MainHelper.PlatformSqlMap.GetOne<PS_xl>(" where LineID='" + xl.ParentID + "'"); if (xltemp != null) { strname[1] = xltemp.LineName; xltemp = MainHelper.PlatformSqlMap.GetOne<PS_xl>(" where LineID='" + xltemp.ParentID + "'"); if (xltemp != null) strname[0] = xltemp.LineName; } strname[2].Replace(strname[1], ""); strname[1].Replace(strname[0], ""); } //填写公共项 for (m = 1; m <= pagecount; m++) { ex.ActiveSheet("Sheet" + m); ex.SetCellValue(strname[0], 3, 2); ex.SetCellValue(strname[1], 3, 5); ex.SetCellValue(strname[2], 3, 11); ex.SetCellValue(xl.LineVol.ToString(), 3, 20); } ihang = 8; jlie = 3; int hdRowCount = 1; int jyzRowCount = 1; int dxRowCount = 1; int btRowCount = 1; int blqRowCount = 1; int kgRowCount = 1; int lxRowCount = 1; int jstart = 3; double dc = 0; string strfx = ""; Excel.Range range; for (i = 1; i < gtlis.Count; i++) { if ((i + 0.0) % (jmax) == 1) { jlie = 3; ihang = 8; hdRowCount = 1; jyzRowCount = 1; dxRowCount = 1; btRowCount = 1; blqRowCount = 1; kgRowCount = 1; lxRowCount = 1; } if (Math.Ceiling((i + 0.0) / (jmax)) > 1) { ex.ActiveSheet("Sheet" + Math.Ceiling((i + 0.0) / (jmax))); xx = wb.Application.Sheets["Sheet" + Math.Ceiling((i + 0.0) / (jmax))] as Microsoft.Office.Interop.Excel.Worksheet; } else { ex.ActiveSheet("Sheet1"); xx = wb.Application.Sheets["Sheet1"] as Microsoft.Office.Interop.Excel.Worksheet; } //ex.SetCellValue(i.ToString(), ihang, jlie); ////杆塔数 PS_gt gtobj = gtlis[i]; //if (gtobj == null) //{ // if ((i + 0.0) % (jmax) == 0&&i>1) // { // //累计长度 // double sum = 0; // for (int item = i; item < i + 15 && item < gtlis.Count; item++) // { // PS_gt gttemp = gtlis[item]; // if (gttemp != null) // { // sum += Convert.ToDouble(gttemp.gtSpan); // } // } // ex.SetCellValue(sum.ToString(), ihang, 2); // } // jlie += 2; // continue; //} //绝缘子 string strSQL = "select distinct sbModle from PS_gtsb Where gtID='" + gtobj.gtID + "' "; if (xl.LineVol != "" && Convert.ToDouble(xl.LineVol) >= 10) { strSQL += " and (sbName like '高压%立瓶%' or sbName like '高压%悬垂%' or sbName like '高压%茶台%' )"; } else if (xl.LineVol != "" && 0.4 >= Convert.ToDouble(xl.LineVol)) { strSQL += " and (sbName like '低压%立瓶%' or sbName like '低压%茶台%' )"; } IList jyuzlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", strSQL); //变台 //IList btlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", " select distinct sbModle from PS_gtsb Where sbName like '%变压器%' and gtID='" + gtobj.gtID + "'"); IList btlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", " select distinct bttype from PS_tq Where gtID='" + gtobj.gtID + "'"); //避雷器 IList blqlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", " select distinct sbModle from PS_gtsb Where sbName='避雷器' and gtID='" + gtobj.gtID + "'"); //开关 IList kglist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", " select distinct kgModle from PS_kg Where gtID='" + gtobj.gtID + "'"); //导线型号 IList dxlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct sbModle from PS_gtsb Where sbName like '%导线%' and gtID='" + gtobj.gtID + "'"); //导线排列方式 IList dxpllist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct C1 from PS_gtsb Where sbName like '%导线%' and gtID='" + gtobj.gtID + "'"); //横担规格 IList hdobj = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", " select distinct sbModle from PS_gtsb Where sbName like '%横担%' and gtID='" + gtobj.gtID + "'"); //拉线规格 IList lxlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", " select distinct sbModle from PS_gtsb Where sbName like '%拉线%' and gtID='" + gtobj.gtID + "'"); IList ilisttemp = null; ihang = 8; ////杆号 ex.SetCellValue((i).ToString(), ihang, jlie); ihang++; //转角方向 if (gtobj.gtModle.IndexOf("转角") > -1) { if (i != 1 && i < gtlis.Count - 1) { decimal[,] a1 = new decimal[1, 2]; decimal[,] a2 = new decimal[1, 2]; a1[0, 0] = gtlis[i].gtLat - gtlis[i - 1].gtLat; a1[0, 1] = gtlis[i].gtLon - gtlis[i - 1].gtLon; a2[0, 0] = gtlis[i + 1].gtLat - gtlis[i].gtLat; a2[0, 1] = gtlis[i + 1].gtLon - gtlis[i].gtLon; decimal di = a1[0, 0] * a2[0, 0] + a1[0, 1] * a2[0, 1]; double dl = Math.Sqrt(Convert.ToDouble(a1[0, 0] * a1[0, 0] + a1[0, 1] * a1[0, 1]) * Math.Sqrt(Convert.ToDouble( a2[0, 0] * a2[0, 0] + a2[0, 1] * a2[0, 1]))); dc = Math.Round(180 * Math.Acos(Convert.ToDouble(di) / Convert.ToDouble(dl)) / 3.1415926, 0); if (gtlis[i].gtLon > gtlis[i - 1].gtLon) { strfx = "右转"; } else { strfx = "左转"; } if (dc.ToString() != "NaN" && dc.ToString() != "非数字") ex.SetCellValue(strfx + dc + "度", ihang, jlie); else { } } } ihang++; //杆高(m) if (gtobj != null) { ex.SetCellValue(gtobj.gtHeight.ToString(), ihang, jlie); } ihang++; //电杆种类/杆型 if (gtobj != null) { string strtype = "", strzj = ""; if (gtobj.gtType.IndexOf("混凝土拔梢杆") > -1) { strtype = "砼"; } if (gtobj.gtModle.IndexOf("直线杆") > -1) { strzj = "直"; } else if (gtobj.gtModle.IndexOf("分支杆") > -1) { strzj = "分"; } else if (gtobj.gtModle.IndexOf("转角杆") > -1) { strzj = "转"; } else if (gtobj.gtModle.IndexOf("耐张杆") > -1) { strzj = "耐"; } else if (gtobj.gtModle.IndexOf("终端杆") > -1) { strzj = "终"; } if (strtype != "" && strzj != "") { ex.SetCellValue(strtype + "/" + strzj, ihang, jlie); } else { ex.SetCellValue(gtobj.gtType + "/" + gtobj.gtModle, ihang, jlie); } } ihang++; //导线排列方式 if (hdobj.Count > 0 && hdobj[0].ToString().Contains("三角")) { ex.SetCellValue("三角排列", ihang, jlie); } else { ex.SetCellValue("水平排列", ihang, jlie); } /* if (((i + 0.0) % (jmax) == 0 && i > 1) || i == gtlis.Count) { //合并同类项 string stplrname = ""; int ista = i, item = i, jlietemp = jlie; for (item = i; item > 1; item--) { PS_gt gttemp = gtlis[item - 1]; PS_gt gttemp2 = gtlis[item - 2]; IList dxpllist2 = null; IList dxpllist3 = null; string str1 = "", str2 = ""; if (gttemp != null) { dxpllist2 = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct sbName from PS_gtsb Where sbName like '%横担%' and gtID='" + gttemp.gtID + "'"); if (dxpllist2.Count > 0) str1 = dxpllist2[0].ToString(); } if (gttemp2 != null) { dxpllist3 = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct sbName from PS_gtsb Where sbName like '%横担%' and gtID='" + gttemp2.gtID + "'"); if (dxpllist3.Count > 0) str2 = dxpllist3[0].ToString(); } if (gttemp2 == null || str2 == str1) { if (jlietemp > 4) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang, jlietemp], xx.Cells[ihang, jlietemp - 2]); range.Merge(Type.Missing); if ((item % jmax == 2 && ista != item) || jlietemp == 5) { if (str1 != "" && str1.Contains("三角")) { ex.SetCellValue("角排列", ihang, jlietemp - 2); } else { ex.SetCellValue("水平排列", ihang, jlietemp - 2); } } } } else { if (str1 != "" && str1.Contains("三角")) { ex.SetCellValue("角排列", ihang, jlietemp); } else { ex.SetCellValue("水平排列", ihang, jlietemp); } } jlietemp = jlietemp - 2; if (item % jmax == 2 && ista != item) { break; } } } else { if (gtlis.Count>0) { string stplrname = ""; int ista = i, item = i, jlietemp = jlie; for (item = i; item > 1; item--) { PS_gt gttemp = gtlis[item - 1]; PS_gt gttemp2 = gtlis[item - 2]; IList dxpllist2 = null; IList dxpllist3 = null; string str1 = "", str2 = ""; if (gttemp != null) { dxpllist2 = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct sbName from PS_gtsb Where sbName like '%横担%' and gtID='" + gttemp.gtID + "'"); if (dxpllist2.Count > 0) str1 = dxpllist2[0].ToString(); } if (gttemp2 != null) { dxpllist3 = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct sbName from PS_gtsb Where sbName like '%横担%' and gtID='" + gttemp2.gtID + "'"); if (dxpllist3.Count > 0) str2 = dxpllist3[0].ToString(); } if (gttemp2 == null || str2 == str1) { if (jlietemp > 4) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang, jlietemp], xx.Cells[ihang, jlietemp - 2]); range.Merge(Type.Missing); if ((item % jmax == 2 && ista != item) || jlietemp == 5) { if (str1 != "" && str1.Contains("三角")) { ex.SetCellValue("角排列", ihang, jlietemp - 2); } else { ex.SetCellValue("水平排列", ihang, jlietemp - 2); } } } } else { if (str1 != "" && str1.Contains("三角")) { ex.SetCellValue("角排列", ihang, jlietemp); } else { ex.SetCellValue("水平排列", ihang, jlietemp); } } jlietemp = jlietemp - 2; if (item % jmax == 2 && ista != item) { break; } } } } */ ihang++; //导线型号规格(mm2) if (dxlist != null && dxlist.Count > 0) { if (dxlist.Count > dxRowCount) { for (j = dxRowCount; j < dxlist.Count; j++) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + dxRowCount, "A"], xx.Cells[ihang + dxRowCount, "A"]); range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Type.Missing); } for (int jtem = 1; jtem < dxlist.Count; jtem++) { for (int item = 0; item < 29; item += 2) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jtem, jstart + item], xx.Cells[ihang + jtem, jstart + 1 + item]); range.Merge(Type.Missing); } } dxRowCount = dxlist.Count; range = (Excel.Range)xx.get_Range(xx.Cells[ihang, 1], xx.Cells[ihang + dxRowCount - 1, 1]); range.Merge(Type.Missing); } if (dxlist.Count > 0) { for (j = 0; j < dxlist.Count; j++) ex.SetCellValue(dxlist[j].ToString(), ihang + j, jlie); } } else { ex.SetCellValue(strLinexh, ihang, jlie); } ihang += dxRowCount; if (i == 15) { int nn = 0; } //档 距(m) if (gtobj != null && gtobj.gtSpan > 0) { if (jlie > 3) ex.SetCellValue(gtobj.gtSpan.ToString(), ihang, jlie - 1); else ex.SetCellValue(gtobj.gtSpan.ToString(), ihang, jlie); } ihang++; //累计长度 if (((i + 0.0) % (jmax) == 0 && i > 1) || i == gtlis.Count - 1) { //累计长度 double sum = 0; int ista = i, item = i; for (item = i; item > 0; item--) { PS_gt gttemp = gtlis[item]; if (gttemp != null) { sum += Convert.ToDouble(gttemp.gtSpan); } if (i < gtlis.Count - 1) { if (item % jmax == 1 && ista != item) { break; } } else { if (item % jmax == 1) { break; } } } sum = 0; for (int m1 = 0; m1 < gtlis.Count; m1++) { PS_gt gttemp = gtlis[m1]; if (gttemp != null) { sum += Convert.ToDouble(gttemp.gtSpan); } } ex.SetCellValue(sum.ToString(), ihang, jstart); float gwidth = 13.50F, gheifht = 13.50F; //float gwidth = 10F, gheifht = 10F; Microsoft.Office.Interop.Excel.Shape activShape, oldShape = null, kywShape = null; int icolor = (int)(((uint)Color.White.B << 16) | (ushort)(((ushort)Color.White.G << 8) | Color.White.R)); range = (Excel.Range)xx.get_Range(xx.Cells[6, 1], xx.Cells[6, 1]); fxstart = (float)Convert.ToDouble(range.Cells.Width); range = (Excel.Range)xx.get_Range(xx.Cells[6, 2], xx.Cells[6, 2]); fxstart += (float)Convert.ToDouble(range.Cells.Width); range = (Excel.Range)xx.get_Range(xx.Cells[1, 1], xx.Cells[5, 1]); fystart = (float)Convert.ToDouble(range.Cells.Height); range = (Excel.Range)xx.get_Range(xx.Cells[6, 1], xx.Cells[6, 1]); fystart = fystart + (float)(Convert.ToDouble(range.Cells.Height) / 2); activShape = null; for (int itemp = 0; itemp <= ista - item; itemp++) { range = (Excel.Range)xx.get_Range(xx.Cells[6, itemp * 2 + jstart], xx.Cells[6, itemp * 2 + jstart + 1]); float width = (float)Convert.ToDouble(range.Cells.Width); PS_xl xl2 = Client.ClientHelper.PlatformSqlMap.GetOne<PS_xl>("where ParentGT='" + gtlis[item + itemp].gtID + "'"); if (xl2 == null) { if (gtlis[item + itemp].gtModle.IndexOf("转角") == -1) { activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart + width / 2, fystart, gwidth, gheifht); } else { PJ_tbsj tb2 = MainHelper.PlatformSqlMap.GetOne<PJ_tbsj>("where picName = '直角'"); if (tb2 != null) { string tempPath = Path.GetTempPath(); string tempfile = tempPath + "~" + Guid.NewGuid().ToString() + tb2.S1; FileStream fs; fs = new FileStream(tempfile, FileMode.Create, FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); bw.Write(tb2.picImage); bw.Flush(); bw.Close(); fs.Close(); Image im = Bitmap.FromFile(tempfile); Bitmap bt = new Bitmap(im); decimal[,] a1 = new decimal[1, 2]; decimal[,] a2 = new decimal[1, 2]; if (item + itemp < gtlis.Count) { a1[0, 0] = gtlis[item + itemp].gtLat - gtlis[item + itemp - 1].gtLat; a1[0, 1] = gtlis[item + itemp].gtLon - gtlis[item + itemp - 1].gtLon; a2[0, 0] = gtlis[item + itemp + 1].gtLat - gtlis[item + itemp].gtLat; a2[0, 1] = gtlis[item + itemp + 1].gtLon - gtlis[item + itemp].gtLon; } decimal di = a1[0, 0] * a2[0, 0] + a1[0, 1] * a2[0, 1]; double dl = Math.Sqrt(Convert.ToDouble(a1[0, 0] * a1[0, 0] + a1[0, 1] * a1[0, 1]) * Math.Sqrt(Convert.ToDouble( a2[0, 0] * a2[0, 0] + a2[0, 1] * a2[0, 1]))); dc = Math.Round(180 * Math.Acos(Convert.ToDouble(di) / Convert.ToDouble(dl)) / 3.1415926, 0); if (gtlis[item + itemp].gtLon > gtlis[item + itemp - 1].gtLon) { strfx = "右转"; } else { strfx = "左转"; } int btw = (int)(bt.Width / 1.33f); int bth = (int)(bt.Height / 1.33f); if (btw < width / 2) { activShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, fxstart + width / 2 - btw / 2, fystart + gheifht / 2 - bth / 2, btw, bth); if (strfx == "左转") { if (dc.ToString() != "NaN" && dc.ToString() != "非数字") activShape.Rotation = (float)(90 - Convert.ToDouble(dc)); } else { if (dc.ToString() != "NaN" && dc.ToString() != "非数字") activShape.Rotation = (float)(90 + Convert.ToDouble(dc)); } } else { activShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, fxstart + width / 5, fystart + gheifht / 2 - bt.Height / 2, bt.Width, bt.Height); if (strfx == "左转") { if (dc.ToString() != "NaN" && dc.ToString() != "非数字") activShape.Rotation = (float)(90 - Convert.ToDouble(dc)); } else { if (dc.ToString() != "NaN" && dc.ToString() != "非数字") activShape.Rotation = (float)(90 + Convert.ToDouble(dc)); } } } } } else { ex.SetCellValue(xl2.LineName, 5, itemp * 2 + 4);//分支线路 PJ_tbsj tb2 = MainHelper.PlatformSqlMap.GetOne<PJ_tbsj>("where picName = '分支'"); if (tb2 != null) { string tempPath = Path.GetTempPath(); string tempfile = tempPath + "~" + Guid.NewGuid().ToString() + tb2.S1; FileStream fs; fs = new FileStream(tempfile, FileMode.Create, FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); bw.Write(tb2.picImage); bw.Flush(); bw.Close(); fs.Close(); Image im = Bitmap.FromFile(tempfile); Bitmap bt = new Bitmap(im); int btw = (int)(bt.Width / 1.33f); int bth = (int)(bt.Height / 1.33f); if (btw < width / 2) { activShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, fxstart + width / 2 - btw / 2, fystart + gheifht / 2 - bth / 2, btw, bth); } else { activShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, fxstart + width / 5, fystart + gheifht / 2 - bth / 2, btw, bth); } } else { activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart + width / 2, fystart, gwidth, gheifht); } } //activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart, fystart, gwidth, gheifht); activShape.Fill.ForeColor.RGB = icolor; if (itemp > 0) { IList<PJ_05jcky> kyxli = MainHelper.PlatformSqlMap.GetList<PJ_05jcky>(" where gtID='" + gtlis[item + itemp].gtID + "'"); if (kyxli.Count == 0) { //Texture Image Recognition Algorithm Based on Steerable Pyramid Transform //if (Export17.ExistsRegedit() == 1) {//vs2003 // xx.Shapes.AddConnector(Microsoft.Office.Core.MsoConnectorType.msoConnectorStraight, // oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, // //activShape.Left , oldShape.Top + oldShape.Height / 2); // activShape.Left - (oldShape.Left + oldShape.Width), 0); //} else { xx.Shapes.AddLine( oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, activShape.Left, activShape.Top + activShape.Height / 2); } } else { PJ_tbsj tb = MainHelper.PlatformSqlMap.GetOne<PJ_tbsj>("where picName = '" + kyxli[0].kymc + "'"); if (tb != null) { string tempPath = Path.GetTempPath(); string tempfile = tempPath + "~" + Guid.NewGuid().ToString() + tb.S1; FileStream fs; fs = new FileStream(tempfile, FileMode.Create, FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); bw.Write(tb.picImage); bw.Flush(); bw.Close(); fs.Close(); Image im = Bitmap.FromFile(tempfile); Bitmap bt = new Bitmap(im); int btw = (int)(bt.Width / 1.33f); int bth = (int)(bt.Height / 1.33f); if (btw < width / 2) { kywShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, oldShape.Left + oldShape.Width + width / 2 - btw / 2, oldShape.Top + oldShape.Height / 2 - bth / 2, btw, bth); // xx.Shapes.AddConnector(Microsoft.Office.Core.MsoConnectorType.msoConnectorStraight, //oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, //kywShape.Left, oldShape.Top + oldShape.Height / 2); xx.Shapes.AddLine( oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, kywShape.Left, oldShape.Top + oldShape.Height / 2); // xx.Shapes.AddConnector(Microsoft.Office.Core.MsoConnectorType.msoConnectorStraight, //kywShape.Left + (float)(kywShape.Width - 2), kywShape.Top + kywShape.Height / 2, //activShape.Left + 2, kywShape.Top + kywShape.Height / 2); xx.Shapes.AddLine( kywShape.Left + (float)(kywShape.Width - 2), kywShape.Top + kywShape.Height / 2, activShape.Left + 2, kywShape.Top + kywShape.Height / 2); } else { // kywShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, oldShape.Left + oldShape.Width + width / 5, oldShape.Top + oldShape.Height / 2 - bth / 2, btw, bth); // xx.Shapes.AddConnector(Microsoft.Office.Core.MsoConnectorType.msoConnectorStraight, // oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, // kywShape.Left, oldShape.Top + oldShape.Height / 2); // xx.Shapes.AddConnector(Microsoft.Office.Core.MsoConnectorType.msoConnectorStraight, //kywShape.Left + (float)(kywShape.Width - 1), kywShape.Top + kywShape.Height / 2, //activShape.Left + 1, kywShape.Top + kywShape.Height / 2); xx.Shapes.AddLine( oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, kywShape.Left, oldShape.Top + oldShape.Height / 2); xx.Shapes.AddLine( kywShape.Left + (float)(kywShape.Width - 1), kywShape.Top + kywShape.Height / 2, activShape.Left + 1, kywShape.Top + kywShape.Height / 2); } //Image im = Bitmap.FromFile(tempfile); //Bitmap bt = new Bitmap(im); //DataObject dataObject = new DataObject(); //dataObject.SetData(DataFormats.Bitmap, bt); //Clipboard.SetDataObject(dataObject, true); } } } //fxstart += gtwidth[itemp]; fxstart += width; oldShape = activShape; } } ihang++; //横担 if (hdobj != null && hdobj.Count > 0) { if (hdobj.Count > hdRowCount) { for (j = hdRowCount; j < hdobj.Count; j++) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + hdRowCount, "A"], xx.Cells[ihang + hdRowCount, "A"]); range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Type.Missing); for (int item = 0; item < 29; item += 2) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + hdRowCount, jstart + item], xx.Cells[ihang + hdRowCount, jstart + 1 + item]); range.Merge(Type.Missing); } } hdRowCount = hdobj.Count; range = (Excel.Range)xx.get_Range(xx.Cells[ihang, 1], xx.Cells[ihang + hdRowCount - 1, 1]); range.Merge(Type.Missing); } for (j = 0; j < hdobj.Count; j++) { ex.SetCellValue(hdobj[j].ToString(), ihang + j, jlie); //if (j + 1 < hdobj.Count) //{ // range = (Excel.Range)xx.get_Range(xx.Cells[ihang + 1, 1], xx.Cells[ihang + 1, 1]); // range.Insert(Excel.XlInsertShiftDirection.xlShiftDown, Type.Missing); // ihang++; //} } } ihang += hdRowCount; //拉线规格/条数 if (lxlist != null && lxlist.Count > 0) { if (lxlist.Count > lxRowCount) { for (j = lxRowCount; j < lxlist.Count; j++) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + lxRowCount, "A"], xx.Cells[ihang + lxRowCount, "A"]); range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Type.Missing); //for (int item = 0; item < 29; item += 2) //{ // range = (Excel.Range)xx.get_Range(xx.Cells[ihang + j + 1, jstart + item], xx.Cells[ihang + j + 1, jstart + 1 + item]); // range.Merge(Type.Missing); //} } for (int jtem = lxRowCount; jtem < lxlist.Count; jtem++) { for (int item = 0; item < 29; item += 2) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jtem, jstart + item], xx.Cells[ihang + jtem, jstart + item + 1]); range.Merge(Type.Missing); } } lxRowCount = lxlist.Count; range = (Excel.Range)xx.get_Range(xx.Cells[ihang, 1], xx.Cells[ihang + lxRowCount - 1, 1]); range.Merge(Type.Missing); } for (j = 0; j < lxlist.Count; j++) { int icount = Convert.ToInt32(Client.ClientHelper.PlatformSqlMap.GetObject("SelectOneInt", "select sum(sbNumber) from PS_gtsb where sbModle = '" + lxlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'")); //int icount = Client.ClientHelper.PlatformSqlMap.GetRowCount<PS_gtsb>(" Where sbModle = '" + lxlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'"); ex.SetCellValue(lxlist[j].ToString()/* + "/" + icount*/, ihang + j, jlie); } } ihang += lxRowCount; //绝缘子型号/数量 if (jyuzlist != null) { if (jyuzlist.Count > jyzRowCount) { for (j = jyzRowCount + 1; j < jyuzlist.Count; j = j + 2) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jyzRowCount, "A"], xx.Cells[ihang + jyzRowCount, "A"]); range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Type.Missing); range = (Excel.Range)xx.get_Range(xx.Cells[ihang + j, 2], xx.Cells[ihang + j - 1, 2]); range.Merge(Type.Missing); } //for (int jtem = 0; jtem < jyuzlist.Count; jtem++) { // for (int item = 0; item < 29; item += 2) { // range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jtem, jstart + item], xx.Cells[ihang + jtem, jstart + 1 + item]); // range.Merge(Type.Missing); // } //} jyzRowCount = jyuzlist.Count / 2 + jyuzlist.Count % 2 == 0 ? 0 : 1; range = (Excel.Range)xx.get_Range(xx.Cells[ihang, 1], xx.Cells[ihang + jyzRowCount - 1, 1]); range.Merge(Type.Missing); } for (j = 0; j < jyuzlist.Count; j++) { int icount = Convert.ToInt32(Client.ClientHelper.PlatformSqlMap.GetObject("SelectOneInt", "select sum(sbNumber) from PS_gtsb where sbModle = '" + jyuzlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'")); //int icount = Client.ClientHelper.PlatformSqlMap.GetRowCount<PS_gtsb>(" Where sbModle = '" + jyuzlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'"); ex.SetCellValue(jyuzlist[j].ToString() /*+ "/" + icount*/, ihang + j / 2, jlie + j % 2); ex.SetCellValue(icount.ToString(), ihang + j / 2 + 1, jlie + j % 2); } } ihang += jyzRowCount * 2; //变台型式 if (btlist != null) { if (btlist.Count > 0) { //ilisttemp = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct sbCode from PS_gtsb Where sbModle = '" + btlist[0].ToString() + "' and gtID='" + gtobj.gtID + "'"); ilisttemp = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct byqModle from PS_tqbyq Where tqID in ( select tqID from PS_tq where gtID='" + gtobj.gtID + "')"); //if (ilisttemp.Count > btRowCount) { // for (j = btRowCount; j < ilisttemp.Count; j++) { // range = (Excel.Range)xx.get_Range(xx.Cells[ihang + btRowCount + 1, "A"], xx.Cells[ihang + btRowCount + 1, "A"]); // range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Type.Missing); // range = (Excel.Range)xx.get_Range(xx.Cells[ihang + j, 2], xx.Cells[ihang + j + 1, 2]); // range.Merge(Type.Missing); // } // for (int jtem = 1; jtem < ilisttemp.Count; jtem++) { // for (int item = 0; item < 29; item += 2) { // range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jtem + 3, jstart + item], xx.Cells[ihang + jtem + 3, jstart + item + 1]); // range.Merge(Type.Missing); // } // } // btRowCount = ilisttemp.Count; // range = (Excel.Range)xx.get_Range(xx.Cells[ihang + 1, 1], xx.Cells[ihang + btRowCount + 1 - 1, 1]); // range.Merge(Type.Missing); //} //if (btlist.Count == 1) ex.SetCellValue(btlist[0].ToString(), ihang, jlie); //else //{ // j = j; //} int byqrl = 0; int icount = Convert.ToInt32(Client.ClientHelper.PlatformSqlMap.GetObject("SelectOneInt", "select count(*) from PS_tqbyq where tqID in ( select tqID from PS_tq where gtID='" + gtobj.gtID + "')")); for (j = 0; j < Math.Min(ilisttemp.Count, 2); j++) {//只能显示两个 //int icount = Convert.ToInt32(Client.ClientHelper.PlatformSqlMap.GetObject("SelectOneInt", "select sum(sbNumber) from PS_gtsb where sbCode='" + ilisttemp[0].ToString() + "' and sbModle = '" + btlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'")); ////int icount = Client.ClientHelper.PlatformSqlMap.GetRowCount<PS_gtsb>(" Where sbCode='" + ilisttemp[0].ToString() + "' and sbModle = '" + btlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'"); //PS_gtsb gtsbtemp = Client.ClientHelper.PlatformSqlMap.GetOne<PS_gtsb>(" Where sbCode='" + ilisttemp[0].ToString() + "' and sbModle = '" + btlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'"); PS_tqbyq gtsbtemp = Client.ClientHelper.PlatformSqlMap.GetOne<PS_tqbyq>(" Where byqModle='" + ilisttemp[j].ToString() + "' and tqID in ( select tqID from PS_tq where gtID='" + gtobj.gtID + "')"); if (gtsbtemp != null) { //PS_sbcs sbcstemp = Client.ClientHelper.PlatformSqlMap.GetOneByKey<PS_sbcs>(gtsbtemp.sbType + ilisttemp[0].ToString()); //if (sbcstemp != null) //{ //ex.SetCellValue(sbcstemp.xh + "/" + icount.ToString(), ihang + j + 1, jlie); //} byqrl += gtsbtemp.byqCapcity; if (gtsbtemp.byqModle.IndexOf("-") < 0) { ex.SetCellValue(gtsbtemp.byqModle /*+ "/" + icount.ToString()*/, ihang + 1, jlie + j); //ex.SetCellValue(/*gtsbtemp.byqModle + "/" +*/ icount.ToString(), ihang+j + 2, jlie); //ex.SetCellValue(gtsbtemp.byqCapcity.ToString(), ihang+j + 3, jlie); } else { ex.SetCellValue(gtsbtemp.byqModle.Substring(0, gtsbtemp.byqModle.IndexOf("-")) /*+ "/"+ icount.ToString()*/, ihang + 1, jlie + j); } } } ex.SetCellValue(icount.ToString(), ihang + 2, jlie); ex.SetCellValue(byqrl.ToString(), ihang + 3, jlie); } } ihang += btRowCount + 3; //避雷器型号/数量 if (blqlist != null && blqlist.Count > 0) { if (blqlist.Count > blqRowCount) { for (j = blqRowCount; j < blqlist.Count; j++) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + blqRowCount, "A"], xx.Cells[ihang + blqRowCount, "A"]); range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Type.Missing); range = (Excel.Range)xx.get_Range(xx.Cells[ihang + j, 2], xx.Cells[ihang + j - 1, 2]); range.Merge(Type.Missing); } for (int jtem = 0; jtem < blqlist.Count; jtem++) { for (int item = 0; item < 29; item += 2) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jtem, jstart + item], xx.Cells[ihang + jtem, jstart + 1 + item]); range.Merge(Type.Missing); } } blqRowCount = blqlist.Count; range = (Excel.Range)xx.get_Range(xx.Cells[ihang, 1], xx.Cells[ihang + blqRowCount - 1, 1]); range.Merge(Type.Missing); } for (j = 0; j < blqlist.Count; j++) { int icount = Convert.ToInt32(Client.ClientHelper.PlatformSqlMap.GetObject("SelectOneInt", "select sum(sbNumber) from PS_gtsb Where sbModle = '" + blqlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'")); // int icount = Client.ClientHelper.PlatformSqlMap.GetRowCount<PS_gtsb>(" Where sbModle = '" + blqlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'"); ex.SetCellValue(blqlist[j].ToString(), ihang + j, jlie); ex.SetCellValue(icount.ToString(), ihang + j + 1, jlie); } } ihang += blqRowCount + 1; //开关型号/数量 if (kglist != null && kglist.Count > 0) { if (kglist.Count > kgRowCount) { for (j = kgRowCount; j < kglist.Count; j++) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + kgRowCount, "A"], xx.Cells[ihang + kgRowCount, "A"]); range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown, Type.Missing); range = (Excel.Range)xx.get_Range(xx.Cells[ihang + j, 2], xx.Cells[ihang + j - 1, 2]); range.Merge(Type.Missing); } for (int jtem = 0; jtem < kglist.Count; jtem++) { for (int item = 0; item < 29; item += 2) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jtem, jstart + item], xx.Cells[ihang + jtem, jstart + 1 + item]); range.Merge(Type.Missing); } } kgRowCount = kglist.Count; range = (Excel.Range)xx.get_Range(xx.Cells[ihang, 1], xx.Cells[ihang + kgRowCount - 1, 1]); range.Merge(Type.Missing); } for (j = 0; j < kglist.Count; j++) { try { //int icount = Convert.ToInt32(Client.ClientHelper.PlatformSqlMap.GetObject("SelectOneInt", "select sum(sbNumber) from PS_gtsb Where sbModle = '" + kglist[j].ToString() + "' and gtID='" + gtobj.gtID + "'")); //int icount = Client.ClientHelper.PlatformSqlMap.GetRowCount<PS_kg>(" Where kgModle = '" + kglist[j].ToString() + "' and gtID='" + gtobj.gtID + "'"); ex.SetCellValue(kglist[j].ToString(), ihang + j, jlie); } catch { } } ex.SetCellValue(kglist.Count.ToString(), ihang + 2, jlie); } ihang += kgRowCount + 2; jlie += 2; } //#region 画图形 //dsoFramerWordControl1.FileOpen(outfname); //Microsoft.Office.Interop.Excel.Workbook wb; //Microsoft.Office.Interop.Excel.Worksheet xx; //try //{ // wb = dsoFramerWordControl1.AxFramerControl.ActiveDocument as Microsoft.Office.Interop.Excel.Workbook; // xx = wb.Application.Sheets[1] as Microsoft.Office.Interop.Excel.Worksheet; //} //catch (Exception err) //{ // dsoFramerWordControl1.FileClose(); // throw new Exception("excel的打开方式不对,有可能装有wps", err); //} //Excel.Range range; //if (lieindex < 1) // range = (Excel.Range)xx.get_Range(xx.Cells[5, 1], xx.Cells[RowCount, ColumnCount]); //else // range = (Excel.Range)xx.get_Range(xx.Cells[5, 1], xx.Cells[RowCount, lieindex + 2]); //range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop].LineStyle = Excel.XlLineStyle.xlContinuous; //range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop].Weight = Excel.XlBorderWeight.xlThick; //range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeRight].LineStyle = Excel.XlLineStyle.xlContinuous; //range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeRight].Weight = Excel.XlBorderWeight.xlThick; //range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Excel.XlLineStyle.xlContinuous; //range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeBottom].Weight = Excel.XlBorderWeight.xlThick; ex.ActiveSheet(1); } catch (Exception exmess) { MsgBox.ShowTipMessageBox(exmess.Message.ToString()); } dsoFramerWordControl1.FileSave(); pj17.BigData = dsoFramerWordControl1.FileDataGzip; dsoFramerWordControl1.FileClose(); dsoFramerWordControl1.Dispose(); //#endregion //System.Diagnostics.Process.Start(outfname); return 1; }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(IList<sdjl_gjyb> objlist) { ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\送电14工具仪表台账.xls"; ex.Open(fname); //此处写填充内容代码 int rowcount = 6; //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(objlist.Count, 12)) { pageindex = Ecommon.GetPagecount(objlist.Count, 12); } for (int j = 1; j <= pageindex; j++) { if (j > 1) { ex.CopySheet(1, 1); } } ex.ShowExcel(); int bh = 0; for (int j = 1; j <= pageindex; j++) { ex.ActiveSheet(j); ex.ReNameWorkSheet(j, "Sheet" + (j)); int prepageindex = j - 1; //主题 int starow = prepageindex * 12 + 1; int endrow = j * 12; if (objlist.Count > endrow) { for (int i = 0; i < 12; i++) { bh++; ex.SetCellValue(bh.ToString(),rowcount + i, 1); ex.SetCellValue(objlist[starow - 1 + i].sbName, rowcount + i, 2); ex.SetCellValue(objlist[starow - 1 + i].jdgg, rowcount + i, 3); ex.SetCellValue(objlist[starow - 1 + i].dw, rowcount + i, 4); ex.SetCellValue(objlist[starow - 1 + i].sl.ToString(), rowcount + i, 5); ex.SetCellValue(objlist[starow - 1 + i].cj, rowcount + i, 6); if (objlist[starow - 1 + i].sbCode.Contains(objlist[starow - 1 + i].sbName)) { ex.SetCellValue(objlist[starow - 1 + i].sbCode, rowcount + i, 7); } else { // ex.SetCellValue(objlist[starow - 1 + i].sbCode+objlist[starow - 1 + i].sbCode, rowcount + i, 7); ex.SetCellValue(objlist[starow - 1 + i].sbName +objlist[starow - 1 + i].sbCode, rowcount + i, 7); } ex.SetCellValue(objlist[starow - 1 + i].lqsj.ToShortDateString(), rowcount + i, 8); ex.SetCellValue(objlist[starow - 1 + i].Remark, rowcount + i, 10); } } else if (objlist.Count <= endrow && objlist.Count >= starow) { for (int i = 0; i < objlist.Count - starow + 1; i++) { bh++; ex.SetCellValue(bh.ToString(), rowcount + i, 1); ex.SetCellValue(objlist[starow - 1 + i].sbName, rowcount + i, 2); ex.SetCellValue(objlist[starow - 1 + i].jdgg, rowcount + i, 3); ex.SetCellValue(objlist[starow - 1 + i].dw, rowcount + i, 4); ex.SetCellValue(objlist[starow - 1 + i].sl.ToString(), rowcount + i, 5); ex.SetCellValue(objlist[starow - 1 + i].cj, rowcount + i, 6); if (objlist[starow - 1 + i].sbCode.Contains(objlist[starow - 1 + i].sbName)) { ex.SetCellValue(objlist[starow - 1 + i].sbCode, rowcount + i, 7); } else { ex.SetCellValue(objlist[starow - 1 + i].sbName+ objlist[starow - 1 + i].sbCode, rowcount + i, 7); } ex.SetCellValue(objlist[starow - 1 + i].lqsj.ToShortDateString(), rowcount + i, 8); //ex.SetCellValue(objlist[starow - 1 + i].lqsj.Month.ToString(), rowcount + i, 9); ex.SetCellValue(objlist[starow - 1 + i].Remark, rowcount + i, 10); } } } ex.ActiveSheet(1); string gdsname = ""; //记录变电所 if (objlist.Count>0) { IList<mOrg> list = Client.ClientHelper.PlatformSqlMap.GetList<mOrg>("where orgcode='" + objlist[0].OrgID + "'"); if (list.Count > 0) gdsname = list[0].OrgName; } ex.SetCellValue(gdsname, 3, 2); //工具仪表信息 //for (int i = 0; i < objlist.Count;i++ ) //{ // ex.SetCellValue((i+1).ToString(), rowcount + i, 1); // ex.SetCellValue(objlist[i].sbName, rowcount + i,2); // ex.SetCellValue(objlist[i].jdgg, rowcount + i,3); // ex.SetCellValue(objlist[i].dw, rowcount + i, 4); // ex.SetCellValue(objlist[i].sl.ToString(), rowcount + i, 5); // ex.SetCellValue(objlist[i].cj, rowcount + i, 6); // ex.SetCellValue(objlist[i].sbCode, rowcount + i, 7); // ex.SetCellValue(objlist[i].lqsj.Year.ToString(), rowcount + i, 8); // ex.SetCellValue(objlist[i].lqsj.Month.ToString(), rowcount + i, 9); //} ex.ShowExcel(); }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(PJ_18gysbpj obj) { //lgm ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname0 = Application.StartupPath + "\\00记录模板\\18高压设备评级表.xls"; string fname = Path.GetTempPath() + obj.OrgName + "设备评级表.xls"; try { File.Copy(fname0, fname, true); } catch { } IList<PJ_18gysbpjmx> objlist = Client.ClientHelper.PlatformSqlMap.GetList<PJ_18gysbpjmx>("SelectPJ_18gysbpjmxList", "where PJ_ID='" + obj.PJ_ID + "'"); ex.Open(fname); //此处写填充内容代码 int pagecout = Ecommon.GetPagecount(objlist.Count, 29); //复制空模板并重命名 for (int m = 1; m < pagecout; m++) { ex.CopySheet(1, m); ex.ReNameWorkSheet(m + 1, "Sheet" + (m + 1)); } for (int p = 0; p < pagecout; p++) { ex.ActiveSheet(p + 1); ex.SetCellValue(Ebada.Client.Platform.MainHelper.UserCompany+" " + obj.OrgName, 4, 1); for (int i = 0; i < 29; i++) { if (p*29+i>=objlist.Count) { break; } PJ_18gysbpjmx tempobj = objlist[p * 29 + i]; //ex.SetCellValue((p * 29 + i).ToString(), 7 + i, 1); ex.SetCellValue(tempobj.xh.ToString(), 7 + i, 1); ex.SetCellValue(tempobj.sbdy, 7 + i, 2); if (tempobj.one > 1) { ex.SetCellValue(Math.Round(tempobj.one / 1000d, 2).ToString(), 7 + i, 5); ex.SetCellValue(Math.Round(tempobj.two / 1000d, 2).ToString(), 7 + i, 6); ex.SetCellValue(Math.Round(tempobj.three / 1000d, 2).ToString(), 7 + i, 9); } else { ex.SetCellValue(tempobj.one.ToString(), 7 + i, 5); ex.SetCellValue(tempobj.two.ToString(), 7 + i, 6); ex.SetCellValue(tempobj.three.ToString(), 7 + i, 9); } ex.SetCellValue(tempobj.whl*100 + "%", 7 + i, 12); ex.SetCellValue(tempobj.qxnr==""?"无":tempobj.qxnr, 7 + i, 13); ex.SetCellValue(tempobj.fzdw, 7 + i, 14); } // ex.SetCellValue(obj.fzr, 36, 2); ex.SetCellValue(obj.zbr, 36, 4); ex.SetCellValue(obj.rq.Year.ToString(), 36, 6); ex.SetCellValue(obj.rq.Month.ToString(), 36, 8); ex.SetCellValue(obj.rq.Day.ToString(), 36, 10); } ex.ActiveSheet(1); ex.ShowExcel(); }
/// <summary> /// 导出入库单 /// </summary> /// <param name="orgCode"></param> /// <param name="jingbanren"></param> public void ExportGDSRKDExcel(string orgCode, string sql) { ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\供电所材料出入库明细.xls"; ex.Open(fname); string orgname = (string)ClientHelper.PlatformSqlMap.GetObject("SelectOneStr", "select top 1 OrgName from mOrg where OrgCode='" + orgCode + "'"); ex.SetCellValue(orgname, 3, 3); IList<PJ_gdscrk> datalist = ClientHelper.PlatformSqlMap.GetList<PJ_gdscrk>(sql); if (datalist.Count <= 0) { return; } #region 开始导出 //此处写填充内容代码 int row = 5; int col = 1; int rowcount = 46; if (datalist.Count < 1) return; Regex r1 = new Regex("[0-9]+"); string str = r1.Match(datalist[0].num).Value; if (str == "") { str = datalist[0].num; } string tablename = "供电所材料出入库明细"; if (tablename.Length > 30) { tablename = tablename.Substring(tablename.Length - 31); } // //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(datalist.Count, rowcount)) { pageindex = Ecommon.GetPagecount(datalist.Count, rowcount); } for (int j = 1; j < pageindex; j++) { ex.CopySheet(1, j); ex.ReNameWorkSheet(j + 1, tablename + "(" + (j) + ")"); } for (int j = 0; j < datalist.Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet(tablename); else ex.ActiveSheet(tablename + "(" + (j / rowcount + 1) + ")"); } // 填值 ex.SetCellValue((j + 1).ToString(), row + j % rowcount, col); if (datalist[j].type == "出库") { ex.SetCellValue(datalist[j].ckdate.ToString("yyyy年MM月dd日"), row + j % rowcount, col + 1); ex.SetCellValue(datalist[j].cksl, row + j % rowcount, col + 6); } else { ex.SetCellValue(datalist[j].indate.ToString("yyyy年MM月dd日"), row + j % rowcount, col + 1); ex.SetCellValue(datalist[j].wpsl, row + j % rowcount, col + 5); } ex.SetCellValue(datalist[j].wpmc, row + j % rowcount, col + 2); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount, col + 3); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount, col + 4); ex.SetCellValue(datalist[j].kcslcount, row + j % rowcount, col + 7); } #endregion ex.ShowExcel(); }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(IList<PJ_08sbtdjx> objlist) { ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\08设备停电检修记录.xls"; ex.Open(fname); //此处写填充内容代码 int rowcount = 5; //分页 将要变化的进行分页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(objlist.Count, 20)) { pageindex = Ecommon.GetPagecount(objlist.Count, 20); } for (int j = 1; j <= pageindex; j++) { if (j > 1) { ex.CopySheet(1, 1); } } ex.ShowExcel(); for (int j = 1; j <= pageindex; j++) { ex.ActiveSheet(j); ex.ReNameWorkSheet(j, "Sheet" + (j)); int prepageindex = j - 1; //主题 int starow = prepageindex * 20 + 1; int endrow = j * 20; if (objlist.Count > endrow) { for (int i = 0; i < 20; i++) { ex.SetCellValue(objlist[starow - 1 + i].tdsj.Month.ToString(), rowcount + i, 1); ex.SetCellValue(objlist[starow - 1 + i].tdsj.Day.ToString(), rowcount + i, 3); ex.SetCellValue(objlist[starow - 1 + i].LineName, rowcount + i, 5); ex.SetCellValue(objlist[starow - 1 + i].jxnr, rowcount + i, 6); ex.SetCellValue(objlist[starow - 1 + i].tdsj.Hour.ToString(), rowcount + i, 7); ex.SetCellValue(objlist[starow - 1 + i].tdsj.Minute.ToString(), rowcount + i, 9); ex.SetCellValue(objlist[starow - 1 + i].sdsj.Hour.ToString(), rowcount + i, 11); ex.SetCellValue(objlist[starow - 1 + i].sdsj.Minute.ToString(), rowcount + i, 13); ex.SetCellValue(objlist[starow - 1 + i].tdxz, rowcount + i, 15); ex.SetCellValue(objlist[starow - 1 + i].gzfzr, rowcount + i, 16); } } else if (objlist.Count <= endrow && objlist.Count >= starow) { for (int i = 0; i < objlist.Count - starow + 1; i++) { ex.SetCellValue(objlist[starow - 1 + i].tdsj.Month.ToString(), rowcount + i, 1); ex.SetCellValue(objlist[starow - 1 + i].tdsj.Day.ToString(), rowcount + i, 3); ex.SetCellValue(objlist[starow - 1 + i].LineName, rowcount + i, 5); ex.SetCellValue(objlist[starow - 1 + i].jxnr, rowcount + i, 6); ex.SetCellValue(objlist[starow - 1 + i].tdsj.Hour.ToString(), rowcount + i, 7); ex.SetCellValue(objlist[starow - 1 + i].tdsj.Minute.ToString(), rowcount + i, 9); ex.SetCellValue(objlist[starow - 1 + i].sdsj.Hour.ToString(), rowcount + i, 11); ex.SetCellValue(objlist[starow - 1 + i].sdsj.Minute.ToString(), rowcount + i, 13); ex.SetCellValue(objlist[starow - 1 + i].tdxz, rowcount + i, 15); ex.SetCellValue(objlist[starow - 1 + i].gzfzr, rowcount + i, 16); } } } ex.ActiveSheet(1); string gdsname = ""; //记录变电所 if (objlist.Count>0) { gdsname = objlist[0].OrgName; } //工具仪表信息 //for (int i = 0; i < objlist.Count;i++ ) //{ // ex.SetCellValue(objlist[i].tdsj.Month.ToString(), rowcount + i, 1); // ex.SetCellValue(objlist[i].tdsj.Day.ToString(), rowcount + i, 3); // ex.SetCellValue(objlist[i].LineName, rowcount + i, 5); // ex.SetCellValue(objlist[i].jxnr, rowcount + i, 6); // ex.SetCellValue(objlist[i].tdsj.Hour.ToString(), rowcount + i, 7); // ex.SetCellValue(objlist[i].tdsj.Minute.ToString(), rowcount + i, 9); // ex.SetCellValue(objlist[i].sdsj.Hour.ToString(), rowcount + i,11); // ex.SetCellValue(objlist[i].sdsj.Minute.ToString(), rowcount + i, 13); // ex.SetCellValue(objlist[i].tdxz, rowcount + i, 15); // ex.SetCellValue(objlist[i].gzfzr, rowcount + i, 16); //} ex.ShowExcel(); }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(sdjl_aqgj obj,IList<sdjl_14aqgjsy> objlist) { //lgm ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\送电13电力安全工具试验记录.xls"; ex.Open(fname); //计算页码 int pagecout = Ecommon.GetPagecount(objlist.Count, 17); //复制空模板并重命名 for (int m = 1; m < pagecout; m++) { ex.CopySheet(1, m); ex.ReNameWorkSheet(m + 1, "Sheet" + (m + 1)); } for (int p = 0; p < pagecout; p++) { ex.ActiveSheet(p + 1); for (int i = 0; i < 17; i++) { if (p * 17 + i >= objlist.Count) { break; } sdjl_14aqgjsy tempobj = objlist[p * 17 + i]; //时间 ex.SetCellValue(tempobj.rq.Year.ToString(), 8 + i, 1); ex.SetCellValue(tempobj.rq.Month.ToString(), 8 + i, 2); ex.SetCellValue(tempobj.rq.Day.ToString(), 8 + i, 3); // ex.SetCellValue(tempobj.jr, 8 + i, 4); //送检人 //ex.SetCellValue(tempobj.sjr, 8 + i, 5); //实验人 ex.SetCellValue(tempobj.syr, 8 + i, 5); //安监签字 ex.SetCellValue(tempobj.ajqz, 8 + i, 6); //下次实验日期 ex.SetCellValue(tempobj.xcsyrq.Year.ToString(), 8 + i, 7); ex.SetCellValue(tempobj.xcsyrq.Month.ToString(), 8 + i, 8); ex.SetCellValue(tempobj.xcsyrq.Day.ToString(), 8 + i, 9); } } ex.ActiveSheet(1); ex.SetCellValue(obj.sbName, 5, 1); if (obj.sbCode.Contains(obj.sbName)) { ex.SetCellValue(obj.sbCode, 5, 4); } else { ex.SetCellValue(obj.sbCode, 5, 4); } ex.SetCellValue(obj.syzq.ToString()+"年", 5, 5); ex.SetCellValue(obj.syxm, 5, 6); ex.ActiveSheet(1); ex.ShowExcel(); }
//ExcelAccess public static void ExportExcel(PJ_01gzrj jl, IList<PJ_gzrjnr> nrList) { nrList = getRjnrList(jl.gzrjID); ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\01工作日志.xls"; ex.Open(fname); int row = 1; int col = 1; int row_nr = 9; int row_num = 36 * 2; List<string> strpy = Ecommon.ResultStrList("领导检查评语:" + jl.py, row_num); List<string> strjs = Ecommon.ResultStrList("记事:" + jl.js, row_num); int nrpage = Ecommon.GetPagecount(nrList.Count, 9); int p = Math.Max(Ecommon.GetPagecount(strpy.Count + strjs.Count, 5), nrpage); System.Collections.ArrayList objlist = new System.Collections.ArrayList(); objlist.Add(strjs); objlist.Add(strpy); List<string> allList = Ecommon.GetCollList(objlist); for (int j = 1; j <= p; j++) { if (j > 1) { ex.CopySheet(1, 1); } } for (int j = 1; j <= p; j++) { ex.ActiveSheet(j); ex.ReNameWorkSheet(j, "Sheet" + (j)); setHead(ex, jl); if (j == 1) { setHead2(ex, jl); } int prepageindex = j - 1; //主题 int starownr = prepageindex * 9 + 1; int js = prepageindex * 5 + 1; int endrownr = j * 9; int endrowjs = j * 5; int bh = 0; if (nrList.Count > endrownr) { for (int i = 0; i < 9; i++) { bh++; PJ_gzrjnr obj = nrList[starownr - 1 + i]; ex.SetCellValue(obj.seq > 0 ? obj.seq.ToString() : "", row + 9 + i, col); ex.SetCellValue(obj.gznr, row + 9 + i, col + 1); ex.SetCellValue(obj.fzr, row + 9 + i, col + 8); string[] rr = obj.cjry.Split(";".ToCharArray()); if (rr.Length > 2) { string cry = rr[0]+ rr[1] + "等" + rr.Length + "人"; ex.SetCellValue(cry, row + 9 + i, col + 11); } else ex.SetCellValue(obj.cjry, row + 9 + i, col + 11); } } else if (nrList.Count <= endrownr && nrList.Count >= starownr) { for (int i = 0; i < nrList.Count - starownr + 1; i++) { PJ_gzrjnr obj = nrList[starownr - 1 + i]; ex.SetCellValue(obj.seq > 0 ? obj.seq.ToString() : "", row + 9 + i, col); ex.SetCellValue(obj.gznr, row + 9 + i, col + 1); ex.SetCellValue(obj.fzr, row + 9 + i, col + 8); string[] rr = obj.cjry.Split(";".ToCharArray()); if (rr.Length > 2) { string cry = rr[0] + rr[1] + "等" + rr.Length + "人"; ex.SetCellValue(cry, row + 9 + i, col + 11); } else ex.SetCellValue(obj.cjry, row + 9 + i, col + 11); } } if (allList.Count > endrowjs) { for (int i = 0; i < 5; i++) { ex.SetCellValue(allList[js - 1 + i], row + 18 + i, col); } } else if (allList.Count <= endrowjs && allList.Count >= js) { for (int i = 0; i < allList.Count - js + 1; i++) { ex.SetCellValue(allList[js - 1 + i], row + 18 + i, col); } } } ex.ActiveSheet(1); ex.ShowExcel(); }
internal static void ExportCK(string rkid) { ExcelAccess ea = new ExcelAccess(); string filename = AppDomain.CurrentDomain.BaseDirectory + "\\00记录模板\\出库单.xls"; if (!File.Exists(filename)) { //导出资源文件到本机 Stream obj = typeof(PrintHelper).Assembly.GetManifestResourceStream("Ebada.Kcgl._00记录模板.出库单.xls"); object[] files = typeof(PrintHelper).Assembly.GetManifestResourceNames(); if (obj != null) { byte[] buff = new byte[obj.Length]; obj.Read(buff, 0, (int)obj.Length); FileStream fs = new FileStream(filename, FileMode.OpenOrCreate); fs.Write(buff, 0, buff.Length); fs.Flush(); fs.Close(); fs.Dispose(); } } ea.Open(filename); kc_出库单 rkobj = Client.ClientHelper.TransportSqlMap.GetOneByKey<kc_出库单>(rkid); if (rkobj == null) return; kc_工程项目 gcobj = Client.ClientHelper.TransportSqlMap.GetOneByKey<kc_工程项目>(rkobj.工程项目_ID); string kcname = gcobj != null ? gcobj.工程项目名称 : ""; ea.SetCellValue(rkobj.出库时间.Year + "", 4, 7); ea.SetCellValue(rkobj.出库时间.Month + "", 4, 9); ea.SetCellValue(rkobj.出库时间.Day + "", 4, 11); //数据源 IList<Model.kc_出库明细表> list = Client.ClientHelper.TransportSqlMap.GetList<kc_出库明细表>("where 出库单_ID='" + rkid + "'"); if (list.Count > 0) { kcname = list[0].工程类别; ea.SetCellValue(kcname + "", 2, 3); ea.SetCellValue(list[0].出库单位 + "", 4, 2); } int brow = 7; int bcol = 1; int rowcount = 10; ea.ReNameWorkSheet(1, kcname); int pageindex = 1; if (rowcount != 0) { if (list.Count % rowcount != 0) { pageindex = (list.Count / rowcount + 1); } else { pageindex = list.Count / rowcount; } } for (int j = 2; j <= pageindex; j++) { ea.CopySheet(1, j - 1); ea.ReNameWorkSheet(j, kcname + "(" + (j) + ")"); } //填充数据 for (int i = 0; i < list.Count; i++) { if (i % rowcount == 0) { if (i == 0) ea.ActiveSheet(kcname); else ea.ActiveSheet(kcname + "(" + (i / rowcount + 1) + ")"); } var obj = list[i]; ea.SetCellValue(obj.材料名称, brow + i % rowcount, bcol); ea.SetCellValue(obj.规格及型号, brow + i % rowcount, bcol + 2); ea.SetCellValue(obj.计量单位, brow + i % rowcount, bcol + 4); ea.SetCellValue(obj.数量.ToString(), brow + i % rowcount, bcol + 5); ea.SetCellValue(obj.单价.ToString(), brow + i % rowcount, bcol + 7); char[] count = obj.总计.ToString("000000.00").Replace(".", "").ToCharArray(); for (int j = 0; j < count.Length; j++) { ea.SetCellValue(count[j].ToString(), brow + i % rowcount, bcol + j + 11); } } //显示文件 //ea.Print(); ea.ActiveSheet(kcname); ea.ShowExcel(); //ea.DisPoseExcel(); }
public void ExportExcel(ExcelAccess ex ,IList<PJ_clcrkd> datalist) { //此处写填充内容代码 int row = 4; int col = 1; int rowcount = 11; if (datalist.Count < 1) { return; } Regex r1 = new Regex("[0-9]+"); string str = r1.Match(datalist[0].num).Value; if (str == "") { str = datalist[0].num; } string tablename = datalist[0].ssgc + datalist[0].ssxm + str; if (tablename.Length > 30) { tablename = tablename.Substring(tablename.Length - 31); } // //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(datalist.Count, rowcount)) { pageindex = Ecommon.GetPagecount(datalist.Count, rowcount); } for (int j = 1; j <= pageindex; j++) { ex.CopySheet(1, j); if (j == 1) { ex.ReNameWorkSheet(j + 1, tablename); } else ex.ReNameWorkSheet(j + 1, tablename+"(" + (j)+")"); } for (int j = 0; j < datalist.Count; j++) { if (j % rowcount == 0) { if (j == 0) ex.ActiveSheet(tablename); else ex.ActiveSheet(tablename + "(" + (j / rowcount + 1)+")"); ex.SetCellValue(datalist[j].ssgc, 2, 5); ex.SetCellValue(datalist[j].OrgName , 2, 2); } ex.SetCellValue(datalist[j].wpmc, row + j % rowcount, col ); ex.SetCellValue(datalist[j].wpgg, row + j % rowcount, col +1); ex.SetCellValue(datalist[j].wpdw, row + j % rowcount, col + 2); ex.SetCellValue(datalist[j].wpsl, row + j % rowcount, col + 3); ex.SetCellValue(datalist[j].indate.ToString("yyyy年MM月dd日"), row + j % rowcount, col + 4); ex.SetCellValue(datalist[j].Remark , row + j % rowcount, col + 5); //ex.SetCellValue(datalist[j].zrr, row + j % rowcount, col + 7); } }
/// <summary> /// 根据入库单id,导出入库单 /// </summary> /// <param name="rkid"></param> internal static void ExportRK(string rkid) { ExcelAccess ea = new ExcelAccess(); string filename = AppDomain.CurrentDomain.BaseDirectory + "\\00记录模板\\入库单.xls"; if (!File.Exists(filename)) { //导出资源文件到本机 Stream obj = typeof(PrintHelper).Assembly.GetManifestResourceStream("Ebada.Kcgl._00记录模板.入库单.xls"); object[] files = typeof(PrintHelper).Assembly.GetManifestResourceNames(); if (obj != null) { byte[] buff = new byte[obj.Length]; obj.Read(buff, 0, (int)obj.Length); FileStream fs = new FileStream(filename, FileMode.OpenOrCreate); fs.Write(buff, 0, buff.Length); fs.Flush(); fs.Close(); fs.Dispose(); } } ea.Open(filename); kc_入库单 rkobj = Client.ClientHelper.TransportSqlMap.GetOneByKey<kc_入库单>(rkid); if (rkobj == null) return; kc_工程类别 gcobj = Client.ClientHelper.TransportSqlMap.GetOneByKey<kc_工程类别>(rkobj.工程类别_ID); string kcname = gcobj != null ? gcobj.工程类别 : ""; //数据源 IList<Model.kc_入库明细表> list = Client.ClientHelper.TransportSqlMap.GetList<kc_入库明细表>("where 入库单_ID='" + rkid + "'"); ea.SetCellValue(kcname, 2, 4); ea.SetCellValue(kcname, 4, 10); ea.SetCellValue(rkobj.入库时间.Year.ToString(), 4, 1); ea.SetCellValue(rkobj.入库时间.Month.ToString(), 4, 3); ea.SetCellValue(rkobj.入库时间.Day.ToString(), 4, 5); int brow = 6; int bcol = 1; int rowcount = 12; ea.ReNameWorkSheet(1, kcname); int pageindex = 1; if (rowcount != 0) { if (list.Count % rowcount != 0) { pageindex = (list.Count / rowcount + 1); } else { pageindex = list.Count / rowcount; } } for (int j = 2; j <= pageindex; j++) { ea.CopySheet(1, j - 1); ea.ReNameWorkSheet(j, kcname + "(" + (j) + ")"); } //填充数据 for (int i = 0; i < list.Count; i++) { if (i % rowcount == 0) { if (i == 0) ea.ActiveSheet(kcname); else ea.ActiveSheet(kcname + "(" + (i / rowcount + 1) + ")"); } var obj = list[i]; ea.SetCellValue(obj.材料名称, brow + i % rowcount, bcol); ea.SetCellValue(obj.规格及型号, brow + i % rowcount, bcol + 6); ea.SetCellValue(obj.计量单位, brow + i % rowcount, bcol + 8); ea.SetCellValue(obj.数量.ToString(), brow + i % rowcount, bcol + 9); ea.SetCellValue(obj.单价.ToString(), brow + i % rowcount, bcol + 10); ea.SetCellValue(obj.总计.ToString(), brow + i % rowcount, bcol + 12); } //显示文件 //ea.Print(); //ea.DisPoseExcel(); ea.ActiveSheet(kcname); ea.ShowExcel(); }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(PJ_09pxjl obj) { //lgm ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\09培训记录.xls"; ex.Open(fname); //每行显示文字长度 int zc = 60; //与会人员之间的间隔符号 char[] jksign = new char[1] { ';' }; int row = 1; int col = 1; //计算页码 int pagecount = 1; //题目 string timustr = "题目:"; List<string> timulist = Ecommon.ResultStrListByPage(timustr, obj.tm, zc, 4); if (Ecommon.GetPagecount(timulist.Count, 4) > pagecount) { pagecount = Ecommon.GetPagecount(timulist.Count, 4); } //活动内容 string hdstr = "内容:"; List<string> hdlist = Ecommon.ResultStrListByPage(hdstr, obj.nr, zc, 10); if (Ecommon.GetPagecount(hdlist.Count, 10) > pagecount) { pagecount = Ecommon.GetPagecount(hdlist.Count, 10); } //领导评语 string ldpystr = "领导检查评语:"; List<string> ldpylist = Ecommon.ResultStrListByPage(ldpystr, obj.py, zc, 3); if (Ecommon.GetPagecount(ldpylist.Count, 3) > pagecount) { pagecount = Ecommon.GetPagecount(ldpylist.Count, 3); } //复制空模板 for (int m = 1; m < pagecount; m++) { ex.CopySheet(1, m); ex.ReNameWorkSheet(m + 1, "Sheet" + (m + 1)); } for (int p = 0; p < pagecount; p++) { ex.ActiveSheet(p + 1); //题目 for (int i = 0; i < 4; i++) { if (p * 4 + i >= timulist.Count) { break; } string tempstr = timulist[p * 4 + i]; ex.SetCellValue(tempstr, 7 + i, 1); } //活动内容 for (int r = 0; r < 10; r++) { if (p * 10 + r >= hdlist.Count) { break; } string tempstr = hdlist[p * 10 + r]; ex.SetCellValue(tempstr, 11 + r, 1); } //领导评语 for (int t = 0; t < 3; t++) { if (p * 3 + t >= ldpylist.Count) { break; } string tempstr = ldpylist[p * 3 + t]; ex.SetCellValue(tempstr, 21 + t, 1); } } ex.ActiveSheet(1); //培训时间 row = 2; ex.SetCellValue(obj.rq.Year.ToString(), 4, 2); ex.SetCellValue(obj.rq.Month.ToString(), 4, 4); ex.SetCellValue(obj.rq.Day.ToString(), 4, 6); //学习时数 string[] ary = obj.xxss.Split(jksign); if (ary.Length >= 1) { ex.SetCellValue(ary[0], 4, 9); } else { ex.SetCellValue("", 4, 9); } if (ary.Length >= 2) { ex.SetCellValue(ary[1], 4, 11); } else { ex.SetCellValue("", 4, 11); } //参加人数 ex.SetCellValue(obj.cjrs, 4, 14); //主持人 ex.SetCellValue(obj.zcr, 6, 3); ex.SetCellValue(obj.zjr, 6, 9); //会议地点 ex.SetCellValue(obj.hydd, 6, 14); //签字 // ex.SetCellValue(obj.qz, 24, 3); // if (ComboBoxHelper.CompreDate(obj.qzrq)) // { // ex.SetCellValue(obj.qzrq.Year.ToString(), 24, 8); // ex.SetCellValue(obj.qzrq.Month.ToString(), 24, 10); // ex.SetCellValue(obj.qzrq.Day.ToString(), 24, 12); // } ex.ActiveSheet(1); ex.ShowExcel(); }
public static int ExportToExcel(string title, string dw, sdjl_21 pj17) { string fname = Application.StartupPath + "\\00记录模板\\送电21线路条图.xls"; float fxstart = 0, fystart = 0, fwidth = 0, fheight = 0; DSOFramerControl dsoFramerWordControl1 = new DSOFramerControl(); string outfname = Path.GetTempFileName() + ".xls"; File.Copy(fname, outfname); dsoFramerWordControl1.FileOpen(outfname); Microsoft.Office.Interop.Excel.Worksheet xx; Excel.Workbook wb = dsoFramerWordControl1.AxFramerControl.ActiveDocument as Excel.Workbook; ExcelAccess ex = new ExcelAccess(); ex.MyWorkBook = wb; ex.MyExcel = wb.Application; sd_xl xl = MainHelper.PlatformSqlMap.GetOne<sd_xl>(" where LineCode='" + pj17.LineCode + "'"); Dictionary<int, NZLength> Dic = new Dictionary<int, NZLength>(); try { if (xl == null) { MsgBox.ShowWarningMessageBox("数据出错,没找到线路"); return -1; } string strLinexh = xl.WireType;//导线型号 sd_gt gtformer = null; IList<sd_gt> gtlis = Client.ClientHelper.PlatformSqlMap.GetList<sd_gt>(" Where LineCode='" + xl.LineCode + "' order by gtcode"); int h = 1; int start = -1; int end = -1; bool notStart=true; decimal sums = 0; foreach (sd_gt gt in gtlis) { if (gt.gtModle != "直线杆") { if (notStart) { start = h; notStart = false; } sums += gt.gtSpan; } else { notStart = true; end = h - 1; if (start > 0) { Dic.Add(h, new NZLength{Start = start,End = end,Sum = sums}); } start = -1; end = -1; sums = 0; } h++; } gtformer = Client.ClientHelper.PlatformSqlMap.GetOne<sd_gt>(" Where gtID='" + xl.ParentGT + "'"); gtlis.Insert(0, gtformer); //计算页码 int pagecount = 1, jmax = 15, m = 0, j = 0; pagecount = gtlis.Count / 15 + 1; int ihang = 8, jlie = 2; int i = 0; //复制空模板 for (m = 1; m < pagecount; m++) { ex.CopySheet(1, m); ex.ReNameWorkSheet(m + 1, "Sheet" + (m + 1)); } string[] strname = new string[3]; strname[0] = ""; strname[1] = ""; strname[2] = ""; if (xl.LineType == "1") { strname[0] = xl.LineName.Split('线')[0] + "线"; strname[1] = xl.LineName.Replace(strname[0], ""); } else if (xl.LineType == "2") { sd_xl xltemp = MainHelper.PlatformSqlMap.GetOne<sd_xl>(" where LineID='" + xl.ParentID + "'"); if (xltemp != null) strname[0] = xltemp.LineName; strname[1] = xl.LineName.Replace(xltemp.LineName,""); } else if (xl.LineType == "3") { strname[2] = xl.LineName; sd_xl xltemp = MainHelper.PlatformSqlMap.GetOne<sd_xl>(" where LineID='" + xl.ParentID + "'"); if (xltemp != null) { strname[1] = xltemp.LineName; xltemp = MainHelper.PlatformSqlMap.GetOne<sd_xl>(" where LineID='" + xltemp.ParentID + "'"); if (xltemp != null) strname[0] = xltemp.LineName; } strname[2].Replace(strname[1], ""); strname[1].Replace(strname[0], ""); } //填写公共项 for (m = 1; m <= pagecount; m++) { ex.ActiveSheet("Sheet" + m); if(!string.IsNullOrEmpty(strname[0])) ex.SetCellValue(strname[0], 3, 3); if (!string.IsNullOrEmpty(strname[1])) ex.SetCellValue(strname[1], 3, 5); if (!string.IsNullOrEmpty(strname[2])) ex.SetCellValue(strname[2], 3, 11); ex.SetCellValue(xl.LineVol.ToString(), 3, 20); } ihang = 8; jlie = 3; int hdRowCount = 1; int jyzRowCount = 1; int dxRowCount = 1; int lxRowCount = 1; int jstart = 3; double dc = 0; string strfx = ""; Excel.Range range; for (i = 1; i < gtlis.Count; i++) { if ((i + 0.0) % (jmax) == 1) { jlie = 3; ihang = 8; hdRowCount = 1; jyzRowCount = 1; dxRowCount = 1; lxRowCount = 1; } if (Math.Ceiling((i + 0.0) / (jmax)) > 1) { ex.ActiveSheet("Sheet" + Math.Ceiling((i + 0.0) / (jmax))); xx = wb.Application.Sheets["Sheet" + Math.Ceiling((i + 0.0) / (jmax))] as Microsoft.Office.Interop.Excel.Worksheet; } else { ex.ActiveSheet("Sheet1"); xx = wb.Application.Sheets["Sheet1"] as Microsoft.Office.Interop.Excel.Worksheet; } //ex.SetCellValue(i.ToString(), ihang, jlie); ////杆塔数 sd_gt gtobj = gtlis[i]; //绝缘子 //string strSQL = "select distinct sbModle from sd_gtsb Where gtID='" + gtobj.gtID + "' "; //if (xl.LineVol != "" && Convert.ToDouble(xl.LineVol) >= 10) { // strSQL += " and (sbName like '高压%立瓶%' or sbName like '高压%悬垂%' or sbName like '高压%茶台%' )"; //} else // if (xl.LineVol != "" && 0.4 >= Convert.ToDouble(xl.LineVol)) { // strSQL += " and (sbName like '低压%立瓶%' or sbName like '低压%茶台%' )"; // } string strSQL = "select distinct sbModle from sd_gtsb Where gtID='" + gtobj.gtID + "' "; if (xl.LineVol != "" && Convert.ToDouble(xl.LineVol) >= 10) { strSQL += " and (sbName like '%绝缘子%' or sbName like '高压%立瓶%' or sbName like '高压%悬垂%' or sbName like '高压%茶台%' )"; } else if (xl.LineVol != "" && 0.4 >= Convert.ToDouble(xl.LineVol)) { strSQL += " and (sbName like '低压%立瓶%' or sbName like '%绝缘子%' or sbName like '低压%茶台%' )"; } IList jyuzlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", strSQL); //导线型号 IList dxlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct sbModle from sd_gtsb Where sbName like '%导线%' and gtID='" + gtobj.gtID + "'"); //导线排列方式 IList dxpllist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct C1 from sd_gtsb Where sbName like '%导线%' and gtID='" + gtobj.gtID + "'"); //耐张规格 IList hdobj = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", " select distinct sbModle from sd_gtsb Where sbName like '%耐张%' and gtID='" + gtobj.gtID + "'"); //拉线规格 //IList lxlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", " select distinct sbModle from sd_gtsb Where sbName like '%拉线%' and gtID='" + gtobj.gtID + "'"); IList lxlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneInt", " select sum(sbnumber) from sd_gtsb where sbName like '%拉线%' and gtID='" + gtobj.gtID + "'"); ihang = 8; ////杆号 ex.SetCellValue((i).ToString(), ihang, jlie); ihang++; //转角方向 if (gtobj.gtModle.IndexOf("转角") > -1) { if (i != 1 && i < gtlis.Count - 1) { decimal[,] a1 = new decimal[1, 2]; decimal[,] a2 = new decimal[1, 2]; a1[0, 0] = gtlis[i].gtLat - gtlis[i - 1].gtLat; a1[0, 1] = gtlis[i].gtLon - gtlis[i - 1].gtLon; a2[0, 0] = gtlis[i + 1].gtLat - gtlis[i].gtLat; a2[0, 1] = gtlis[i + 1].gtLon - gtlis[i].gtLon; decimal di = a1[0, 0] * a2[0, 0] + a1[0, 1] * a2[0, 1]; double dl = Math.Sqrt(Convert.ToDouble(a1[0, 0] * a1[0, 0] + a1[0, 1] * a1[0, 1]) * Math.Sqrt(Convert.ToDouble( a2[0, 0] * a2[0, 0] + a2[0, 1] * a2[0, 1]))); dc = Math.Round(180 * Math.Acos(Convert.ToDouble(di) / Convert.ToDouble(dl)) / 3.1415926, 0); if (gtlis[i].gtLon > gtlis[i - 1].gtLon) { strfx = "右转"; } else { strfx = "左转"; } if (dc.ToString() != "NaN" && dc.ToString() != "非数字") ex.SetCellValue(strfx + dc + "度", ihang, jlie); else { } } } ihang++; //杆高(m) if (gtobj != null) { ex.SetCellValue(gtobj.gtHeight.ToString(), ihang, jlie); } ihang++; //电杆种类/杆型 if (gtobj != null) { string strtype = "", strzj = ""; if (gtobj.gtType.IndexOf("混凝土拔梢杆") > -1) { strtype = "砼"; } if (gtobj.gtModle.IndexOf("直线杆") > -1) { strzj = "直"; } else if (gtobj.gtModle.IndexOf("分支杆") > -1) { strzj = "分"; } else if (gtobj.gtModle.IndexOf("转角杆") > -1) { strzj = "转"; } else if (gtobj.gtModle.IndexOf("耐张杆") > -1) { strzj = "耐"; } else if (gtobj.gtModle.IndexOf("终端杆") > -1) { strzj = "终"; } if (strtype != "" && strzj != "") { ex.SetCellValue(strtype + "/" + strzj, ihang, jlie); } else { ex.SetCellValue(gtobj.gtType + "/" + gtobj.gtModle, ihang, jlie); } } ihang++; //导线排列方式 //if (hdobj.Count>0 && hdobj[0].ToString().Contains("三角")) { // ex.SetCellValue("三角排列", ihang, jlie); //} else { // ex.SetCellValue("水平排列", ihang, jlie); //} ex.SetCellValue(xl.c1, ihang, jlie); ihang++; //导线型号规格(mm2) if (dxlist != null && dxlist.Count > 0) { if (dxlist.Count > dxRowCount) { for (j = dxRowCount; j < dxlist.Count; j++) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + dxRowCount, "A"], xx.Cells[ihang + dxRowCount, "A"]); range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Type.Missing); } for (int jtem = 1; jtem < dxlist.Count; jtem++) { for (int item = 0; item < 29; item += 2) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jtem, jstart + item], xx.Cells[ihang + jtem, jstart + 1 + item]); range.Merge(Type.Missing); } } dxRowCount = dxlist.Count; range = (Excel.Range)xx.get_Range(xx.Cells[ihang, 1], xx.Cells[ihang + dxRowCount - 1, 1]); range.Merge(Type.Missing); } if (dxlist.Count > 0) { for (j = 0; j < dxlist.Count; j++) ex.SetCellValue(dxlist[j].ToString(), ihang + j, jlie); } } else { ex.SetCellValue(strLinexh, ihang, jlie); } ihang += dxRowCount; if (i == 15) { int nn = 0; } //档 距(m) if (gtobj != null && gtobj.gtSpan>0) { if (jlie > 3) ex.SetCellValue(gtobj.gtSpan.ToString(), ihang, jlie - 1); else ex.SetCellValue(gtobj.gtSpan.ToString(), ihang, jlie); } ihang++; //耐张段长度 ihang += hdRowCount; //累计长度 if (((i + 0.0) % (jmax) == 0 && i > 1) || i == gtlis.Count - 1) { //累计长度 double sum = 0; int ista = i, item = i; for (item = i; item > 0; item--) { sd_gt gttemp = gtlis[item]; if (gttemp != null) { sum += Convert.ToDouble(gttemp.gtSpan); } if (i < gtlis.Count - 1) { if (item % jmax == 1 && ista != item) { break; } } else { if (item % jmax == 1) { break; } } } sum = 0; for (int m1 = 0; m1 < gtlis.Count;m1++ ) { sd_gt gttemp = gtlis[m1]; if (gttemp != null) { sum += Convert.ToDouble(gttemp.gtSpan); } } ex.SetCellValue(sum.ToString(), ihang, jstart); float gwidth = 13.50F, gheifht = 13.50F; //float gwidth = 10F, gheifht = 10F; Microsoft.Office.Interop.Excel.Shape activShape, oldShape = null, kywShape = null; int icolor = (int)(((uint)Color.White.B << 16) | (ushort)(((ushort)Color.White.G << 8) | Color.White.R)); range = (Excel.Range)xx.get_Range(xx.Cells[6, 1], xx.Cells[6, 1]); fxstart = (float)Convert.ToDouble(range.Cells.Width); range = (Excel.Range)xx.get_Range(xx.Cells[6, 2], xx.Cells[6, 2]); fxstart += (float)Convert.ToDouble(range.Cells.Width); range = (Excel.Range)xx.get_Range(xx.Cells[1, 1], xx.Cells[5, 1]); fystart = (float)Convert.ToDouble(range.Cells.Height); range = (Excel.Range)xx.get_Range(xx.Cells[6, 1], xx.Cells[6, 1]); fystart = fystart + (float)(Convert.ToDouble(range.Cells.Height) / 2); activShape = null; for (int itemp = 0; itemp <= ista - item; itemp++) { range = (Excel.Range)xx.get_Range(xx.Cells[6, itemp * 2 + jstart], xx.Cells[6, itemp * 2 + jstart + 1]); float width = (float)Convert.ToDouble(range.Cells.Width); sd_xl xl2 = Client.ClientHelper.PlatformSqlMap.GetOne<sd_xl>("where ParentGT='" + gtlis[item + itemp].gtID + "'"); if (xl2 == null) { if (gtlis[item + itemp].gtModle.IndexOf("转角") == -1) { activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart + width / 2, fystart, gwidth, gheifht); } else { PJ_tbsj tb2 = MainHelper.PlatformSqlMap.GetOne<PJ_tbsj>("where picName = '直角'"); if (tb2 != null) { string tempPath = Path.GetTempPath(); string tempfile = tempPath + "~" + Guid.NewGuid().ToString() + tb2.S1; FileStream fs; fs = new FileStream(tempfile, FileMode.Create, FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); bw.Write(tb2.picImage); bw.Flush(); bw.Close(); fs.Close(); Image im = Bitmap.FromFile(tempfile); Bitmap bt = new Bitmap(im); decimal[,] a1 = new decimal[1, 2]; decimal[,] a2 = new decimal[1, 2]; if (item + itemp < gtlis.Count) { a1[0, 0] = gtlis[item + itemp].gtLat - gtlis[item + itemp - 1].gtLat; a1[0, 1] = gtlis[item + itemp].gtLon - gtlis[item + itemp - 1].gtLon; a2[0, 0] = gtlis[item + itemp + 1].gtLat - gtlis[item + itemp].gtLat; a2[0, 1] = gtlis[item + itemp + 1].gtLon - gtlis[item + itemp].gtLon; } decimal di = a1[0, 0] * a2[0, 0] + a1[0, 1] * a2[0, 1]; double dl = Math.Sqrt(Convert.ToDouble(a1[0, 0] * a1[0, 0] + a1[0, 1] * a1[0, 1]) * Math.Sqrt(Convert.ToDouble( a2[0, 0] * a2[0, 0] + a2[0, 1] * a2[0, 1]))); dc = Math.Round(180 * Math.Acos(Convert.ToDouble(di) / Convert.ToDouble(dl)) / 3.1415926, 0); if (gtlis[item + itemp].gtLon > gtlis[item + itemp - 1].gtLon) { strfx = "右转"; } else { strfx = "左转"; } int btw = (int)(bt.Width / 1.33f); int bth = (int)(bt.Height / 1.33f); if (btw < width / 2) { activShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, fxstart + width / 2 - btw / 2, fystart + gheifht / 2 - bth / 2, btw, bth); if (strfx == "左转") { if (dc.ToString() != "NaN" && dc.ToString() != "非数字") activShape.Rotation = (float)(90 - Convert.ToDouble(dc)); } else { if (dc.ToString() != "NaN" && dc.ToString() != "非数字") activShape.Rotation = (float)(90 + Convert.ToDouble(dc)); } } else { activShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, fxstart + width / 5, fystart + gheifht / 2 - bt.Height / 2,bt.Width, bt.Height); if (strfx == "左转") { if (dc.ToString() != "NaN" && dc.ToString() != "非数字") activShape.Rotation = (float)(90 - Convert.ToDouble(dc)); } else { if (dc.ToString() != "NaN" && dc.ToString() != "非数字") activShape.Rotation = (float)(90 + Convert.ToDouble(dc)); } } } } } else { ex.SetCellValue(xl2.LineName, 5, itemp * 2 + 4);//分支线路 PJ_tbsj tb2 = MainHelper.PlatformSqlMap.GetOne<PJ_tbsj>("where picName = '分支'"); if (tb2 != null) { string tempPath = Path.GetTempPath(); string tempfile = tempPath + "~" + Guid.NewGuid().ToString() + tb2.S1; FileStream fs; fs = new FileStream(tempfile, FileMode.Create, FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); bw.Write(tb2.picImage); bw.Flush(); bw.Close(); fs.Close(); Image im = Bitmap.FromFile(tempfile); Bitmap bt = new Bitmap(im); int btw = (int)(bt.Width / 1.33f); int bth = (int)(bt.Height / 1.33f); if (btw < width / 2) { activShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, fxstart + width / 2 - btw / 2, fystart + gheifht / 2 - bth / 2, btw, bth); } else { activShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, fxstart + width / 5, fystart + gheifht / 2 - bth / 2, btw, bth); } } else { activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart + width / 2, fystart, gwidth, gheifht); } } //activShape = xx.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeOval, fxstart, fystart, gwidth, gheifht); activShape.Fill.ForeColor.RGB = icolor; if (itemp > 0) { //IList<sdjl_05jcky> kyxli = MainHelper.PlatformSqlMap.GetList<sdjl_05jcky>(" where gtID='" + gtlis[item + itemp].gtID + "'"); IList<PJ_05jcky> kyxli = MainHelper.PlatformSqlMap.GetList<PJ_05jcky>(" where gtID='" + gtlis[item + itemp].gtID + "'"); if (kyxli.Count == 0) { { xx.Shapes.AddLine( oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, activShape.Left, activShape.Top + activShape.Height / 2); } } else { PJ_tbsj tb = MainHelper.PlatformSqlMap.GetOne<PJ_tbsj>("where picName = '" + kyxli[0].kymc + "'"); if (tb != null) { string tempPath = Path.GetTempPath(); string tempfile = tempPath + "~" + Guid.NewGuid().ToString() + tb.S1; FileStream fs; fs = new FileStream(tempfile, FileMode.Create, FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); bw.Write(tb.picImage); bw.Flush(); bw.Close(); fs.Close(); Image im = Bitmap.FromFile(tempfile); Bitmap bt = new Bitmap(im); int btw = (int)(bt.Width / 1.33f); int bth = (int)(bt.Height / 1.33f); if (btw < width / 2) { kywShape = xx.Shapes.AddPicture(tempfile, MsoTriState.msoFalse, MsoTriState.msoTrue, oldShape.Left + oldShape.Width + width / 2 - btw / 2, oldShape.Top + oldShape.Height / 2 - bth / 2, btw, bth); xx.Shapes.AddLine( oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, kywShape.Left, oldShape.Top + oldShape.Height / 2); xx.Shapes.AddLine( kywShape.Left + (float)(kywShape.Width - 2), kywShape.Top + kywShape.Height / 2, activShape.Left + 2, kywShape.Top + kywShape.Height / 2); } else { xx.Shapes.AddLine( oldShape.Left + oldShape.Width, oldShape.Top + oldShape.Height / 2, kywShape.Left, oldShape.Top + oldShape.Height / 2); xx.Shapes.AddLine( kywShape.Left + (float)(kywShape.Width - 1), kywShape.Top + kywShape.Height / 2, activShape.Left + 1, kywShape.Top + kywShape.Height / 2); } } } } //fxstart += gtwidth[itemp]; fxstart += width; oldShape = activShape; } } ihang++; //拉线规格/条数 if (lxlist != null && lxlist.Count > 0) { //if (lxlist.Count > lxRowCount) { // for (j = lxRowCount; j < lxlist.Count; j++) { // range = (Excel.Range)xx.get_Range(xx.Cells[ihang + lxRowCount, "A"], xx.Cells[ihang + lxRowCount, "A"]); // range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Type.Missing); // } // for (int jtem = lxRowCount; jtem < lxlist.Count; jtem++) { // for (int item = 0; item < 29; item += 2) { // range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jtem, jstart + item], xx.Cells[ihang + jtem, jstart + item + 1]); // range.Merge(Type.Missing); // } // } // lxRowCount = lxlist.Count; // range = (Excel.Range)xx.get_Range(xx.Cells[ihang, 1], xx.Cells[ihang + lxRowCount - 1, 1]); // range.Merge(Type.Missing); //} //for (j = 0; j < lxlist.Count; j++) { // int icount = Convert.ToInt32(Client.ClientHelper.PlatformSqlMap.GetObject("SelectOneInt", "select sum(sbNumber) from sd_gtsb where sbModle = '" + lxlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'")); // //int icount = Client.ClientHelper.PlatformSqlMap.GetRowCount<sd_gtsb>(" Where sbModle = '" + lxlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'"); // ex.SetCellValue(lxlist[j].ToString()/* + "/" + icount*/, ihang + j, jlie); //} if (lxlist[0] != null) { ex.SetCellValue(lxlist[0].ToString(), ihang, jlie); } } ihang += lxRowCount; //绝缘子型号/数量 if (jyuzlist != null) { if (jyuzlist.Count > jyzRowCount) { for (j = jyzRowCount + 1; j < jyuzlist.Count; j = j+2) { range = (Excel.Range)xx.get_Range(xx.Cells[ihang + jyzRowCount, "A"], xx.Cells[ihang + jyzRowCount, "A"]); range.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Type.Missing); range = (Excel.Range)xx.get_Range(xx.Cells[ihang + j, 2], xx.Cells[ihang + j - 1, 2]); range.Merge(Type.Missing); } jyzRowCount = jyuzlist.Count/2 + jyuzlist.Count%2 == 0?0:1; range = (Excel.Range)xx.get_Range(xx.Cells[ihang, 1], xx.Cells[ihang + jyzRowCount - 1, 1]); range.Merge(Type.Missing); } for (j = 0; j < jyuzlist.Count; j++) { int icount = Convert.ToInt32(Client.ClientHelper.PlatformSqlMap.GetObject("SelectOneInt", "select sum(sbNumber) from sd_gtsb where sbModle = '" + jyuzlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'")); //int icount = Client.ClientHelper.PlatformSqlMap.GetRowCount<sd_gtsb>(" Where sbModle = '" + jyuzlist[j].ToString() + "' and gtID='" + gtobj.gtID + "'"); ex.SetCellValue(jyuzlist[j].ToString() /*+ "/" + icount*/, ihang + j/2, jlie + j%2); ex.SetCellValue(icount.ToString(), ihang + j / 2 + 1, jlie + j % 2); } } ihang += jyzRowCount*2 ; jlie += 2; } foreach (int key in Dic.Keys) { int page = 1; int page1 = 1; NZLength nzlength = Dic[key]; int startcolumn = (nzlength.Start + 1) * 2 - 1; if (startcolumn % 32 == 0) { page = startcolumn / 32; } else { page = startcolumn / 32 + 1; } ex.ActiveSheet(page); int endcolumn = (nzlength.End + 1) * 2 - 1; if (nzlength.End % 32 == 0) { page1 = endcolumn / 32; } else { page1 = endcolumn / 32 + 1; } if (page == page1) { ex.ActiveSheet(page); ex.UnitCells(15, startcolumn % 32, 15, endcolumn % 32); ex.SetCellValue(Math.Round(nzlength.Sum/1000,3).ToString(), 15, startcolumn % 32); } else { ex.ActiveSheet(page); ex.UnitCells(15, startcolumn % 32, 15, 31); ex.SetCellValue(nzlength.Start + "到" + nzlength.End + "杆塔:" + Math.Round(nzlength.Sum/1000,3), 15, startcolumn % 32); for (int tmp = 1; tmp <= page1 - page; tmp++) { ex.ActiveSheet(page + tmp); if (tmp < page1 - page) { ex.UnitCells(15, 3,15, 31); } ex.UnitCells(15, 3, 15, (endcolumn+2) % 32); ex.SetCellValue(nzlength.Start + "到" + nzlength.End + "杆塔:" + Math.Round(nzlength.Sum/1000,3), 15, 3); } } } ex.ActiveSheet(1); } catch (Exception exmess) { MsgBox.ShowTipMessageBox(exmess.Message.ToString()); } dsoFramerWordControl1.FileSave(); pj17.BigData = dsoFramerWordControl1.FileDataGzip; dsoFramerWordControl1.FileClose(); dsoFramerWordControl1.Dispose(); //#endregion //System.Diagnostics.Process.Start(outfname); return 1; }
/// <summary> /// 文档格式预定义好的,动态填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExceldt(string obj) { ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\10配电变压器汇总表.xls"; ex.Open(fname ); IList list=new ArrayList (); int pagecount=0; //obj = "317"; string strfilter = " and 1=1"; if (obj != "") strfilter = strfilter + " and a.OrgCode='" + obj+"' "; IList caplist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneInt", "select distinct b.byqCapcity from dbo.mOrg a,dbo.PS_tqbyq b,dbo.PS_xl c, dbo.PS_tq d where a.OrgCode=c.OrgCode and c.LineCode=d.xlCode and d.tqID=b.tqID " + strfilter + " order by b.byqCapcity"); //caplist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", string.Format("select nr from pj_dyk where len(parentid)>1 and dx='{0}' and sx='{1}'", "11配电变压器卡片", "容量")); //IList modmflist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct UPPER(replace(b.byqModle,'-'+cast(b.byqCapcity as nvarchar(50))+'/'+cast(b.byqVol as nvarchar(50)),'')) from dbo.mOrg a,dbo.PS_tqbyq b,dbo.PS_xl c, dbo.PS_tq d where a.OrgCode=c.OrgCode and c.LineCode=d.xlCode and d.tqID=b.tqID " + strfilter + " and b.omniseal='true'"); //IList modtmlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct UPPER(replace(b.byqModle,'-'+cast(b.byqCapcity as nvarchar(50))+'/'+cast(b.byqVol as nvarchar(50)),'')) from dbo.mOrg a,dbo.PS_tqbyq b,dbo.PS_xl c, dbo.PS_tq d where a.OrgCode=c.OrgCode and c.LineCode=d.xlCode and d.tqID=b.tqID " + strfilter + " and (b.omniseal!='true' or b.omniseal is null)"); IList modmflist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct UPPER(b.byqModle) from dbo.mOrg a,dbo.PS_tqbyq b,dbo.PS_xl c, dbo.PS_tq d where a.OrgCode=c.OrgCode and c.LineCode=d.xlCode and d.tqID=b.tqID " + strfilter + " and b.omniseal='true'"); IList modtmlist = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneStr", "select distinct UPPER(b.byqModle) from dbo.mOrg a,dbo.PS_tqbyq b,dbo.PS_xl c, dbo.PS_tq d where a.OrgCode=c.OrgCode and c.LineCode=d.xlCode and d.tqID=b.tqID " + strfilter + " and (b.omniseal!='true' or b.omniseal is null)"); int jmax = 18; int i = 0; for ( i = 0; i < modmflist.Count; i++) { if (modmflist[i].ToString().IndexOf("-")>-1) { modmflist[i] = modmflist[i].ToString().Substring(0,modmflist[i].ToString().IndexOf("-")); } } for (i = 0; i < modtmlist.Count; i++) { if (modtmlist[i].ToString().IndexOf("-")>-1) { modtmlist[i] = modtmlist[i].ToString().Substring(0, modtmlist[i].ToString().IndexOf("-")); } } string modtemp = ""; for (i = 0; i < modmflist.Count; i++) { if (modtemp.IndexOf(modmflist[i].ToString())==-1) { if (modtemp!="") modtemp+=","+modmflist[i]; else modtemp = modmflist[i].ToString(); } } if (modtemp != "") { string[] strli = modtemp.Split(','); modmflist.Clear(); for (i = 0; i < strli.Length; i++) { modmflist.Add(strli[i]); } } for (i = 0; i < modtmlist.Count; i++) { if (modtemp.IndexOf(modtmlist[i].ToString()) == -1) { if (modtemp!="") modtemp += "," + modtmlist[i]; else modtemp = modtmlist[i].ToString(); } } if (modtemp != "") { string[] strli = modtemp.Split(','); modtmlist.Clear(); for (i = 0; i < strli.Length; i++) { modtmlist.Add(strli[i]); } } pagecount = (int)Math.Ceiling(caplist.Count / (jmax + 0.0)); int itemp = modtmlist.Count / 6.0 > modmflist.Count / 3.0 ? (int)Math.Ceiling(modtmlist.Count / 6.0) : (int)Math.Ceiling(modmflist.Count / 3.0 ); pagecount = itemp * pagecount; if (pagecount > 1) { ex.DeleteWorkSheet("Sheet2"); ex.DeleteWorkSheet("Sheet3"); } /////计算需要多少个工作表 for (i = 1; i < pagecount; i++) { ex.CopySheet(1,i); ex.ReNameWorkSheet((i + 1), "Sheet" + (i + 1)); } int istart = 7, istart2 = 19, jstart = 4, j=0; string jstrfilter=""; mOrg org = Client.ClientHelper.PlatformSqlMap.GetOneByKey<mOrg>(obj); for ( j = 0; j < caplist.Count; j++) { ex.ActiveSheet("Sheet" + (j / jmax == 0 ? 1 : (int)Math.Ceiling(j / (jmax + 0.0)))); //ex.ActiveSheet("Sheet" + (1 + (j / jmax) * (int)Math.Ceiling(j / (jmax + 0.0)))); if (j % jmax == 0) { jstrfilter = " and 1=1"; ex.ActiveSheet("Sheet" + (1+(j / jmax)*(int)Math.Ceiling(j / (jmax + 0.0)))); list = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneInt", "select b.byqCapcity from dbo.mOrg a,dbo.PS_tqbyq b,dbo.PS_xl c, dbo.PS_tq d where a.OrgCode=c.OrgCode and c.LineCode=d.xlCode and d.tqID=b.tqID " + strfilter + jstrfilter); if (list.Count >0) ex.SetCellValue(list.Count.ToString(), 5, jstart + j % jmax); list = Client.ClientHelper.PlatformSqlMap.GetList("SelectOneInt", "select sum(b.byqCapcity) from dbo.mOrg a,dbo.PS_tqbyq b,dbo.PS_xl c, dbo.PS_tq d where a.OrgCode=c.OrgCode and c.LineCode=d.xlCode and d.tqID=b.tqID " + strfilter + jstrfilter); //if (list[0] == null) list[0] = 0; if (list[0] != null) ex.SetCellValue(list[0].ToString(), 6, jstart + j % jmax); setExceldt(ex, list, caplist, modtmlist, modmflist, jstrfilter, strfilter, jstart, j, jmax, istart, istart2); } ex.ActiveSheet("Sheet" + ((j+1) / jmax == 0 ? 1 : (int)Math.Ceiling((j+1) / (jmax + 0.0)))); jstrfilter = " and 1=1 and b.byqCapcity='" + caplist[j] + "'"; //ex.SetCellValue(caplist[j].ToString(), 4, jstart + j % jmax + 1); setExceldt(ex, list, caplist, modtmlist, modmflist, jstrfilter, strfilter, jstart+1, j, jmax, istart, istart2); } for (i = 0; i < pagecount; i++) { ex.ActiveSheet("Sheet" + (i+1)); int jzu=caplist.Count/jmax+1; int itempmin = 0, itempmax = 0; itempmax = (i % jzu+1) * jmax; itempmin = (i % jzu) * jmax; if (org != null) ex.SetCellValue(org.OrgName, 3, 3); else ex.SetCellValue("全局", 3, 3); for (j = itempmin; j < itempmax && j < caplist.Count ; j++) { ex.SetCellValue(caplist[j].ToString(), 4, jstart + j % jmax + 1); } //ex.SetCellValue(caplist[j].ToString(), 4, jstart + j % jmax + 1); } ex.ActiveSheet(1); ex.ShowExcel(); }
/// <summary> /// 文档格式预定义好的,只填写内容(缺陷内容为空时,不填写消除人) /// </summary> /// <param name="obj"></param> public static void ExportExcel(IList<sdjl_06sbxs> objlist,bool xsmxflag) { //lgm ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\送电07设备巡视及缺陷消除记录.xls"; ex.Open(fname); //每行显示文字长度 int zc = 20; //与会人员之间的间隔符号 char[] jksign = new char[1] { ';' }; int row = 7; int col = 1; int len1 = 3; ex.SetCellValue(objlist[0].LineName, 4, 4); ex.SetCellValue(objlist[0].xlqd, 4, 8); int pagecout = Ecommon.GetPagecount(objlist.Count, 9); //复制空模板 for (int m = 1; m < pagecout; m++) { ex.CopySheet(1, m); ex.ReNameWorkSheet(m + 1, "Sheet" + (m + 1)); } for (int p = 0; p < pagecout; p++) { ex.ActiveSheet(p + 1); for (int i = 0; i < 9; i++) { if (p*9+i>=objlist.Count) { break; } sdjl_06sbxs tempobj = objlist[p * 9 + i]; //巡视时间 if (xsmxflag) { ex.SetCellValue(tempobj.xssj.Year.ToString(), row + i * len1, 1); ex.SetCellValue(tempobj.xssj.Month.ToString(), row + i * len1, 2); ex.SetCellValue(tempobj.xssj.Day.ToString(), row + i * len1, 3); } //缺陷内容 List<string> tempstr = Ecommon.ResultStrList(tempobj.qxnr, zc); if (tempstr.Count >= 1) { ex.SetCellValue(tempstr[0], row + i * len1, 4); } else { ex.SetCellValue("", row + i * len1, 4); } if (tempstr.Count >= 2) { ex.SetCellValue(tempstr[1], row + i * len1 + 1, 4); } else { ex.SetCellValue("", row + i * len1 + 1, 4); } //缺陷类别 ex.SetCellValue(tempobj.qxlb, row + i * len1, 7); //巡视人 string[] ary = tempobj.xsr.Split(jksign); if (ary.Length >= 1) { ex.SetCellValue(ary[0], row + 2 + i * len1, 5); } else { ex.SetCellValue("", row + 2 + i * len1, 5); } if (ary.Length >= 2) { ex.SetCellValue(ary[1], row + 2 + i * len1, 6); } else { ex.SetCellValue("", row + 2 + i * len1, 6); } //消除人 string[] ary2 = tempobj.xcr.Split(jksign); if (ary2.Length >= 1 && tempstr.Count > 0) { ex.SetCellValue(ary2[0], row + i * len1, 9); } else { ex.SetCellValue("", row + i * len1, 9); } if (ary2.Length >= 2&&tempstr.Count>0) { ex.SetCellValue(ary2[1], row + i * len1, 12); } else { ex.SetCellValue("", row + i * len1, 12); } //消除时间 if (ComboBoxHelper.CompreDate(tempobj.xcrq) && tempstr.Count>0) { ex.SetCellValue(tempobj.xcrq.Year.ToString(), row + 2 + i * len1, 8); ex.SetCellValue(tempobj.xcrq.Month.ToString(), row + 2 + i * len1, 11); ex.SetCellValue(tempobj.xcrq.Day.ToString(), row + 2 + i * len1, 13); } } } ex.ActiveSheet(1); ex.ShowExcel(); }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(IList<PJ_21gzbxdh> objlist) { ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\21电力故障电话接听记录.xls"; ex.Open(fname); //此处写填充内容代码 int rowcount = 7; //加页 int pageindex = 1; if (pageindex < Ecommon.GetPagecount(objlist.Count, 19)) { pageindex = Ecommon.GetPagecount(objlist.Count, 19); } for (int j = 1; j <= pageindex; j++) { if (j > 1) { ex.CopySheet(1, 1); } } ex.ShowExcel(); for (int j = 1; j <= pageindex; j++) { ex.ActiveSheet(j); ex.ReNameWorkSheet(j, "Sheet" + (j)); int prepageindex = j - 1; //主题 int starow = prepageindex * 19 + 1; int endrow = j * 19; if (objlist.Count > endrow) { for (int i = 0; i < 19; i++) { ex.SetCellValue(objlist[starow - 1 + i].rq.Month.ToString(), rowcount + i, 1); ex.SetCellValue(objlist[starow - 1 + i].rq.Day.ToString(), rowcount + i, 2); ex.SetCellValue(objlist[starow - 1 + i].rq.Hour.ToString(), rowcount + i, 3); ex.SetCellValue(objlist[starow - 1 + i].rq.Minute.ToString(), rowcount + i, 4); ex.SetCellValue(objlist[starow - 1 + i].lxfs, rowcount + i, 5); ex.SetCellValue(objlist[starow - 1 + i].yhdz, rowcount + i, 6); ex.SetCellValue(objlist[starow - 1 + i].gzjk, rowcount + i, 9); // ex.SetCellValue(objlist[starow - 1 + i].djr, rowcount + i,12); // ex.SetCellValue(objlist[starow - 1 + i].clr, rowcount + i, 13); } } else if (objlist.Count <= endrow && objlist.Count >= starow) { for (int i = 0; i < objlist.Count - starow + 1; i++) { ex.SetCellValue(objlist[starow - 1 + i].rq.Month.ToString(), rowcount + i, 1); ex.SetCellValue(objlist[starow - 1 + i].rq.Day.ToString(), rowcount + i, 2); ex.SetCellValue(objlist[starow - 1 + i].rq.Hour.ToString(), rowcount + i, 3); ex.SetCellValue(objlist[starow - 1 + i].rq.Minute.ToString(), rowcount + i, 4); ex.SetCellValue(objlist[starow - 1 + i].lxfs, rowcount + i, 5); ex.SetCellValue(objlist[starow - 1 + i].yhdz, rowcount + i, 6); ex.SetCellValue(objlist[starow - 1 + i].gzjk, rowcount + i, 9); // ex.SetCellValue(objlist[starow - 1 + i].djr, rowcount + i, 12); // ex.SetCellValue(objlist[starow - 1 + i].clr, rowcount + i, 13); } } } ex.ActiveSheet(1); string orgname=""; if (objlist.Count>0) { orgname = objlist[0].OrgName; } //变电所内容 ex.SetCellValue(orgname, 4, 5); //记录 //for (int i = 0; i < objlist.Count;i++ ) //{ // ex.SetCellValue(objlist[i].rq.Month.ToString(), rowcount + i, 1); // ex.SetCellValue(objlist[i].rq.Day.ToString(), rowcount + i, 2); // ex.SetCellValue(objlist[i].rq.Hour.ToString(), rowcount + i, 3); // ex.SetCellValue(objlist[i].rq.Minute.ToString(), rowcount + i, 4); // ex.SetCellValue(objlist[i].lxfs, rowcount + i, 5); // ex.SetCellValue(objlist[i].yhdz, rowcount + i, 6); // ex.SetCellValue(objlist[i].gzjk, rowcount + i, 7); // ex.SetCellValue(objlist[i].djr, rowcount + i,8); // ex.SetCellValue(objlist[i].clr, rowcount + i,9); //} ex.ShowExcel(); }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(PS_kg obj) { ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\12线路开关卡片"; ex.Open(fname); //此处写填充内容代码 int pagecount = 1; string strwhere1 = " where kgID='" + obj.kgID + "'"; IList<PJ_12kgbd> pjbdlist = Client.ClientHelper.PlatformSqlMap.GetList<PJ_12kgbd>("SelectPJ_12kgbdList", strwhere1); IList<PJ_12kgjx> pjjxlist = Client.ClientHelper.PlatformSqlMap.GetList<PJ_12kgjx>("SelectPJ_12kgjxList", strwhere1); IList<PJ_12kgsy> pjsylist = Client.ClientHelper.PlatformSqlMap.GetList<PJ_12kgsy>("SelectPJ_12kgsyList", strwhere1); if (Ecommon.GetPagecount(pjbdlist.Count, 14) > pagecount) { pagecount = Ecommon.GetPagecount(pjbdlist.Count, 14); } if (Ecommon.GetPagecount(pjjxlist.Count, 15) > pagecount) { pagecount = Ecommon.GetPagecount(pjjxlist.Count, 15); } if (Ecommon.GetPagecount(pjsylist.Count, 3) > pagecount) { pagecount = Ecommon.GetPagecount(pjsylist.Count, 3); } //复制空模版 if (pagecount > 1) { for (int i = 1; i < pagecount; i++) { ex.CopySheet(1, i); ex.ReNameWorkSheet(i + 1, "Sheet" + (i + 1)); } } for (int p = 0; p < pagecount; p++) { ex.ActiveSheet(p + 1); //变动记录 for (int i = 0; i < 14; i++) { if (p*14+i>=pjbdlist.Count) { break; } PJ_12kgbd tempobj = pjbdlist[p * 14 + i]; ex.SetCellValue(tempobj.azrq.Year.ToString(), 12 + 2 * i, 1); ex.SetCellValue(tempobj.azrq.Month.ToString(), 12 +2 * i, 3); ex.SetCellValue(tempobj.azrq.Day.ToString(), 12 + 2 * i, 5); ex.SetCellValue(tempobj.azdd, 12 + 2 * i, 7); ex.SetCellValue(tempobj.gtbh, 12 + 2 * i, 9); ex.SetCellValue("'"+tempobj.kgCode, 12 + 2 * i,10); ex.SetFontNameSize(12 + 2 * i, 10, 12 + 2 * i, 10, "", 9); //如果日期未写不不输出 {1900-1-1 0:00:00} DateTime dtCCRQ =DateTime.Parse("1900-1-1 0:00:00"); if (tempobj.ccrq != dtCCRQ) { ex.SetCellValue(tempobj.ccrq.Year.ToString(), 12 + 2 * i, 11); ex.SetCellValue(tempobj.ccrq.Month.ToString(), 12 + 2 * i, 13); ex.SetCellValue(tempobj.ccrq.Day.ToString(), 12 + 2 * i, 15); } ex.SetCellValue(tempobj.ccyy, 12 + 2 * i, 17); ex.SetCellValue(tempobj.Remark, 12 + 2 * i, 19); } //实验记录 for (int j = 0; j < 3; j++) { if (p*3+j>=pjsylist.Count) { break; } PJ_12kgsy tempobj = pjsylist[p * 3 + j]; ex.SetCellValue(tempobj.azrq.Year.ToString(), 4, 27 + j * 6); ex.SetCellValue(tempobj.azrq.Month.ToString(), 4, 29 + j * 6); ex.SetCellValue(tempobj.azrq.Day.ToString(), 4, 31 + j * 6); ex.SetCellValue(tempobj.azdd, 5, 27 + j * 6); ex.SetCellValue(tempobj.gtbh, 6, 27 + j * 6); ex.SetCellValue(tempobj.A_BCO, 7, 27 + j * 6); ex.SetCellValue(tempobj.B_CAO, 8, 27 + j * 6); ex.SetCellValue(tempobj.C_ABO, 9, 27 + j * 6); ex.SetCellValue(tempobj.A_BCO2, 10, 27 + j * 6); ex.SetCellValue(tempobj.B_CAO2, 11, 27 + j * 6); ex.SetCellValue(tempobj.C_ABO2, 12, 27 + j * 6); ex.SetCellValue(tempobj.dy, 13, 27 + j * 6); ex.SetCellValue(tempobj.dysj, 14, 27 + j * 6); ex.SetCellValue(tempobj.dl, 15, 27 + j * 6); ex.SetCellValue(tempobj.dlsj, 16, 27 + j * 6); ex.SetCellValue(tempobj.dzA, 17, 27 + j * 6); ex.SetCellValue(tempobj.dzB, 18, 27 + j * 6); ex.SetCellValue(tempobj.dzC, 19, 27 + j * 6); ex.SetCellValue(tempobj.tqjc, 20, 27 + j * 6); ex.SetCellValue(tempobj.wgjc, 21, 27 + j * 6); ex.SetCellValue(tempobj.syjl, 22, 27 + j * 6); ex.SetCellValue(tempobj.syz, 23, 27 + j * 6); } //检修记录 for (int k = 0; k <15 ; k++) { if (p*15+k>=pjjxlist.Count) { break; } PJ_12kgjx tempobj = pjjxlist[p * 15 + k]; ex.SetCellValue(tempobj.jxsj.Year.ToString(), 25+k, 20); ex.SetCellValue(tempobj.jxsj.Month.ToString(), 25+k, 22); ex.SetCellValue(tempobj.jxsj.Day.ToString(), 25+k, 24); ex.SetCellValue(tempobj.jxnr, 25+k, 26); ex.SetCellValue(tempobj.fzr, 25+k, 39); } } ex.ActiveSheet(1); ex.SetCellValue(obj.kgModle, 4, 7); ex.SetCellValue(obj.kgCapcity+"A", 4, 9); ex.SetCellValue(obj.kgMadeDate.Year.ToString(), 4, 11); ex.SetCellValue(obj.kgMadeDate.Month.ToString(), 4, 13); ex.SetCellValue(obj.kgMadeDate.Day.ToString(), 4, 15); ex.SetCellValue(obj.kgLineGroup, 4, 19); ex.SetCellValue(obj.kgFactory, 6, 7); ex.SetCellValue(obj.kgVol, 6, 9); ex.SetCellValue(obj.kgPhase , 6, 11); ex.SetCellValue(obj.kgCloseVol, 6, 19); ex.SetCellValue(obj.kgNumber, 8, 7); ex.SetCellValue(obj.kgOpenEle, 8, 11); ex.SetCellValue(obj.kgfgb, 8, 19); ex.ActiveSheet(1); ex.ShowExcel(); }
/// <summary> /// 文档格式预定义好的,只填写内容 /// </summary> /// <param name="obj"></param> public static void ExportExcel(PS_tqbyq obj) { //lgm //页数 int pagecount =1; ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\11配电变压器卡片.xls"; ex.Open(fname); //此处写填充内容代码 int row = 1; string strwhere1=" where byqID='"+obj.byqID+"'"; IList<PJ_11byqbd> pjbdlist = Client.ClientHelper.PlatformSqlMap.GetList<PJ_11byqbd>("SelectPJ_11byqbdList", strwhere1); IList<PJ_11byqdydl> pjdydllist = Client.ClientHelper.PlatformSqlMap.GetList<PJ_11byqdydl>("SelectPJ_11byqdydlList", strwhere1); IList<PJ_11byqdzcl> pjdzcllist = Client.ClientHelper.PlatformSqlMap.GetList<PJ_11byqdzcl>("SelectPJ_11byqdzclList", strwhere1); if (pjbdlist.Count == 0) { pjbdlist.Add(new PJ_11byqbd() { azrq = obj.byqInstallDate, azdd = obj.byqInstallAdress }); } //计算页数 int byqhdpage = Ecommon.GetPagecount(pjbdlist.Count, 3); if (byqhdpage > pagecount) { pagecount = byqhdpage; } int byqdypage = Ecommon.GetPagecount(pjdydllist.Count, 22); if (byqdypage > pagecount) { pagecount = byqdypage; } int byqdzpage = Ecommon.GetPagecount(pjdzcllist.Count, 9); if (byqdzpage > pagecount) { pagecount = byqdzpage; } //复制空模版 if (pagecount>1) { for (int i = 1; i < pagecount; i++) { ex.CopySheet(1, i); ex.ReNameWorkSheet(i + 1, "Sheet" + (i + 1)); } } PS_tq temptq = Client.ClientHelper.PlatformSqlMap.GetOneByKey<PS_tq>(obj.tqID); //固定内容 ex.ActiveSheet(1); //变压器内容 row = 4; ex.SetCellValue(obj.byqModle, row, 4); ex.SetCellValue(obj.byqFactory, row, 14); ex.SetCellValue(obj.byqVolOne + "KV", row, 23); row++; ex.SetCellValue(obj.byqPhase, row, 4); ex.SetCellValue(obj.byqNumber, row, 14); ex.SetCellValue(obj.byqVolTwo + "KV", row, 23); row++;//6 ex.SetCellValue(obj.byqCapcity.ToString(), row, 4); ex.SetCellValue(obj.byqMadeDate.Year.ToString(), row, 14); ex.SetCellValue(obj.byqMadeDate.Month.ToString(), row, 16); ex.SetCellValue(obj.byqMadeDate.Day.ToString(), row, 18); ex.SetCellValue(obj.byqCurrentOne.ToString(), row, 23); row += 2;//8 ex.SetCellValue(obj.byqLineGroup, row, 4); ex.SetCellValue(obj.byqCycle, row, 14); ex.SetCellValue(obj.byqCurrentTwo.ToString(), row, 23); //活动页 //标题 ex.SetCellValue("配电变压器卡片(" + temptq.tqName + ")", 2, 1); for (int k = 0; k < pagecount; k++) { ex.ActiveSheet(k + 1); //标题 ex.SetCellValue("配电变压器卡片(" + temptq.tqName + ")", 2, 1); //变压器变动内容 row = 12; for (int i = 0; i < 3; i++) { if (k * 3 + i >= pjbdlist.Count) { break; } PJ_11byqbd tempobj = pjbdlist[k * 3 + i]; ex.SetCellValue(tempobj.azrq.Year.ToString(), row + i, 1); ex.SetCellValue(tempobj.azrq.Month.ToString(), row + i, 3); ex.SetCellValue(tempobj.azrq.Day.ToString(), row + i, 5); ex.SetCellValue(tempobj.azdd, row + i, 7); if (tempobj.ccrq.Year != 1900) { ex.SetCellValue(tempobj.ccrq.Year.ToString(), row + i, 14); ex.SetCellValue(tempobj.ccrq.Month.ToString(), row + i, 16); ex.SetCellValue(tempobj.ccrq.Day.ToString(), row + i, 18); ex.SetCellValue(tempobj.ccyy, row + i, 20); } } //电压电流内容 row = 6; for (int j = 0; j < 22; j++) { if (k * 22 + j >= pjdydllist.Count) { break; } PJ_11byqdydl tempobj = pjdydllist[k * 22 + j]; ex.SetCellValue(tempobj.clrq.Year.ToString(), row + j, 26); ex.SetCellValue(tempobj.clrq.Month.ToString(), row + j, 28); ex.SetCellValue(tempobj.clrq.Day.ToString(), row + j, 30); ex.SetCellValue(tempobj.fjtwz, row + j, 32); ex.SetCellValue(tempobj.ao.ToString(), row + j, 33); ex.SetCellValue(tempobj.bo.ToString(), row + j, 34); ex.SetCellValue(tempobj.co.ToString(), row + j, 35); ex.SetCellValue(tempobj.a.ToString(), row + j, 36); ex.SetCellValue(tempobj.b.ToString(), row + j, 37); ex.SetCellValue(tempobj.c.ToString(), row + j, 38); ex.SetCellValue(tempobj.ao2.ToString(), row + j, 39); ex.SetCellValue(tempobj.bo2.ToString(), row + j, 40); ex.SetCellValue(tempobj.co2.ToString(), row + j, 41); } //绝缘电阻测量内容 row = 16; for (int l = 0; l < 9; l++) { if (k*9+l>=pjdzcllist.Count) { break; } if (l % 3 == 0 && l > 0) { row = 16 - l; } PJ_11byqdzcl tempobj = pjdzcllist[k * 9 + l]; if (l < 3) { ex.SetCellValue(tempobj.clrq.Year.ToString(), row + l, 7); ex.SetCellValue(tempobj.clrq.Month.ToString(), row + l, 10); ex.SetCellValue(tempobj.clrq.Day.ToString(), row + l, 12); ex.SetCellValue(tempobj.one2one.ToString(), row + l + 1, 7); ex.SetCellValue(tempobj.one2d.ToString(), row + l + 2, 7); ex.SetCellValue(tempobj.two2d.ToString(), row + l + 3, 7); row++; } else if (3 <= l && l < 6) { ex.SetCellValue(tempobj.clrq.Year.ToString(), row + l, 14); ex.SetCellValue(tempobj.clrq.Month.ToString(), row + l, 16); ex.SetCellValue(tempobj.clrq.Day.ToString(), row + l, 18); ex.SetCellValue(tempobj.one2one.ToString(), row + l + 1, 14); ex.SetCellValue(tempobj.one2d.ToString(), row + l + 2, 14); ex.SetCellValue(tempobj.two2d.ToString(), row + l + 3, 14); row++; } else if (6 <= l && l < 9) { ex.SetCellValue(tempobj.clrq.Year.ToString(), row + l, 20); ex.SetCellValue(tempobj.clrq.Month.ToString(), row + l, 22); ex.SetCellValue(tempobj.clrq.Day.ToString(), row + l, 24); ex.SetCellValue(tempobj.one2one.ToString(), row + l + 1, 20); ex.SetCellValue(tempobj.one2d.ToString(), row + l + 2, 20); ex.SetCellValue(tempobj.two2d.ToString(), row + l + 3, 20); row++; } } } //设第一工作表为当前工作表 ex.ActiveSheet(1); ex.ShowExcel(); }
/// <summary> /// 蓄电池调整及检测记录簿 /// </summary> /// <param name="nrList">导出列表</param> public static void ExprotExcelXdcdzjlb(IList<bdjl_xdctzjlb> nrList) { #region 蓄电池调整及检测记录簿 //ExcelAccess ex = new ExcelAccess(); //SaveFileDialog saveFileDialog1 = new SaveFileDialog(); //string fname = Application.StartupPath + "\\00记录模板\\蓄电池调整及检测记录簿.xls"; //ex.Open(fname); //int row = 1; ////加页 //int pageindex = 1; //if (pageindex < Ecommonjh.GetPagecount(nrList.Count, 15)) //{ // pageindex = Ecommonjh.GetPagecount(nrList.Count, 15); //} //for (int j = 1; j <= pageindex; j++) //{ // ex.ActiveSheet(1); // if (j > 1) // { // ex.CopySheet(1, j); // } // ex.SetCellValue(nrList[0].sj.Year+"年"+nrList[0].sj.Month+"月", 2, 1); //} //for (int j = 1; j <= pageindex; j++) //{ // ex.ActiveSheet(j); // //ex.ReNameWorkSheet(j, "Sheet" + (j)); // int prepageindex = j - 1; // //主题 // int starow = prepageindex * 15 + 1; // int endrow = j * 15; // if (nrList.Count > endrow) // { // for (int i = 0; i < 15; i++) // { // ex.SetCellValue(nrList[starow - 1 + i].sj.Day.ToString(), row + 5 + i, 1); // ex.SetCellValue(nrList[starow - 1 + i].sj.Hour.ToString(), row + 5 + i, 2); // ex.SetCellValue(nrList[starow - 1 + i].sj.Minute.ToString(), row + 5 + i, 3); // ex.SetCellValue(nrList[starow - 1 + i].dcdy, row + 5 + i, 4); // ex.SetCellValue(nrList[starow - 1 + i].dl, row + 5 + i, 5); // ex.SetCellValue(nrList[starow - 1 + i].trdcgs, row + 5 + i, 6); // string[] arr = nrList[starow - 1 + i].bzdcdy.Split('、'); // for (int k = 0; k < arr.Length; k++) // { // ex.SetCellValue(arr[k], row + 5 + i, 6 + k + 1); // } // ex.SetCellValue(nrList[starow - 1 + i].jcr, row + 5 + i, 11); // //ex.SetCellValue(nrList[starow - 1 + i].zbrjsz, row + 3 + i, 6); // } // } // else if (nrList.Count <= endrow && nrList.Count >= starow) // { // for (int i = 0; i < nrList.Count - starow + 1; i++) // { // ex.SetCellValue(nrList[starow - 1 + i].sj.Day.ToString(), row + 5 + i, 1); // ex.SetCellValue(nrList[starow - 1 + i].sj.Hour.ToString(), row + 5 + i, 2); // ex.SetCellValue(nrList[starow - 1 + i].sj.Minute.ToString(), row + 5 + i, 3); // ex.SetCellValue(nrList[starow - 1 + i].dcdy, row + 5 + i, 4); // ex.SetCellValue(nrList[starow - 1 + i].dl, row + 5 + i, 5); // ex.SetCellValue(nrList[starow - 1 + i].trdcgs, row + 5 + i, 6); // string[] arr = nrList[starow - 1 + i].bzdcdy.Split('、'); // for (int k = 0; k < arr.Length; k++) // { // ex.SetCellValue(arr[k], row + 5 + i, 6 + k + 1); // } // ex.SetCellValue(nrList[starow - 1 + i].jcr, row + 5 + i, 11); // } // } //} //ex.ActiveSheet(1); //ex.ShowExcel(); ExcelAccess ex = new ExcelAccess(); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string fname = Application.StartupPath + "\\00记录模板\\蓄电池调整及检测记录簿.xls"; ex.Open(fname); int row = 1; //加页 int pageindex = 1; int newrow=-1; for (int i = 0; i < nrList.Count; i++) { newrow++; if (newrow%15==0) { newrow=0; pageindex++; ex.ActiveSheet(pageindex - 1); ex.ReNameWorkSheet(pageindex - 1, nrList[0].sj.Year + "年" + nrList[0].sj.Month + "月" + (pageindex - 1)); ex.CopySheet(pageindex - 1, pageindex - 1); ex.ActiveSheet(pageindex-1); ex.SetCellValue(nrList[0].sj.Year + "年" + nrList[0].sj.Month + "月", 2, 1); } try { ex.SetCellValue(nrList[ i].sj.Day.ToString(), row + 5 + newrow, 1); ex.SetCellValue(nrList[ i].sj.Hour.ToString(), row + 5 + newrow, 2); ex.SetCellValue(nrList[ i].sj.Minute.ToString(), row + 5 + newrow, 3); ex.SetCellValue(nrList[ i].dcdy, row + 5 + newrow, 4); ex.SetCellValue(nrList[ i].dl, row + 5 + newrow, 5); ex.SetCellValue(nrList[i].trdcgs, row + 5 + newrow, 6); ex.SetCellValue(nrList[ i].jcr, row + 5 +newrow, 11); string[] arr = nrList[i].bzdcdy.Split(','); int tempindex=0; for (int k = 0; k < arr.Length; k++) { if (k % 4 == 0&&k!=0 ) { tempindex = 0; newrow++; if (newrow % 15 == 0) { newrow = 0; pageindex++; ex.ActiveSheet(pageindex - 1); ex.ReNameWorkSheet(pageindex - 1, nrList[0].sj.Year + "年" + nrList[0].sj.Month + "月" + (pageindex - 1)); ex.CopySheet(pageindex - 1, pageindex - 1); ex.ActiveSheet(pageindex - 1); ex.SetCellValue(nrList[0].sj.Year + "年" + nrList[0].sj.Month + "月", 2, 1); } } tempindex++; ex.SetCellValue(arr[k], row + 5 + newrow, 6 + tempindex); } } catch { } } //ex.ActiveSheet(pageindex); //ex.DeleteSheet(pageindex); ////ex.DeleteWorkSheet(nrList[0].sj.Year + "年" + nrList[0].sj.Month + "月" + (pageindex - 1) + " (2)"); ex.ActiveSheet(1); ex.ShowExcel(); #endregion }