예제 #1
0
        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();
        }
예제 #2
0
        /// <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();

        }
예제 #3
0
        /// <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);

                    }
                }
            }
        }
예제 #4
0
 /// <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();
 }
예제 #5
0
        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);


            }
        }
예제 #6
0
        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;
                }


            }
        }
예제 #7
0
        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);


            }
        }
예제 #8
0
        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);


            }
        }
예제 #9
0
        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);


            }
        }
예제 #10
0
        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);


            }
        }
예제 #11
0
        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);


            }
        }
예제 #12
0
        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);


            }
        }
예제 #13
0
        //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;
        }
예제 #14
0
        /// <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();
        }
예제 #15
0
        /// <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();
        }
예제 #16
0
        /// <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();
        }
예제 #17
0
        /// <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();
        }
예제 #18
0
        /// <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();
        }
예제 #19
0
        //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();

        }
예제 #20
0
        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();
        }
예제 #21
0
        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);


            }
        }
예제 #22
0
        /// <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();
        }
예제 #23
0
        /// <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();

        }
예제 #24
0
        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;
        }
예제 #25
0
        /// <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();
        }
예제 #26
0
        /// <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();
           
        }
예제 #27
0
        /// <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();
        }
예제 #28
0
        /// <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();
        }
예제 #29
0
        /// <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();
        }
예제 #30
0
        /// <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
        }