工資條羣發神器,HR必備!!!

工資條羣發神器,HR必備!!!

最近在開發一個工資條助手,話不多說,先上圖!

部分核心代碼

 for (int i = startRow; i < sendNum + startRow; i++)
                {
                    string dstEmailAddress = dataTable.Rows[i][dataTable.Columns.Count - 2].ToString().Trim();
                    if (!CheckEmail(dstEmailAddress))
                    {
                        dataTable.Rows[i][dataTable.Rows[i].ItemArray.Length - 1] = "無效郵箱";
                    }
                    else
                    {
                        email.mailToArray = new string[] { dstEmailAddress };//接收者郵件集合
                        email.mailBody = CreateHtml(i);
                        if (email.Send())
                        {
                            dataTable.Rows[i][dataTable.Rows[i].ItemArray.Length - 1] = "OK";
                        }
                        else
                        {
                            dataTable.Rows[i][dataTable.Rows[i].ItemArray.Length - 1] = "發送失敗";
                        }
                        //延時1秒,避免被封
                        Thread.Sleep(500);
                    }
                    //進度條更新
                    ProgressBarValue = (int)((i - startRow + 1) / (float)sendNum * 100);
                    SendEmailState = string.Format("已發送:{0}%", ProgressBarValue);
                }
                SendEmailState = "完成";
            }));
   #region 雙表頭
                        //倒數第一項:發送結果
                        //倒數第二項:郵箱
                        //倒數第三項:實發工資
                        //數據行索引:3【第4行開始】
                        //根據分組遍歷
                        foreach (var item in GloableVar.HeaderGroups)
                        {
                            //如果是行合併
                            if (item.RowMerge == true)
                            {
                                //表頭:值
                                str += string.Format("<div><span style=\"font-size: 22px;Margin:3\">{0}:{1}</span></div>", item.Title, dataTable.Rows[RowNum][item.dimension.FirstColumnIndex]);
                            }
                            //如果是列合併
                            else
                            {
                                //表頭
                                str += string.Format("<div><span style=\"font-size: 22px;Margin:5\">{0}</span></div>", item.Title);
                                //循環添加子項
                                for (int i = 0; i < item.ChildTitles.Count; i++)
                                {
                                    str += string.Format("<div><span style=\"font-size: 18px;Margin:3;margin-left:25\">--{0}:{1}</span></div>", item.ChildTitles[i], dataTable.Rows[RowNum][item.dimension.FirstColumnIndex + i]);
                                }
                            }
                        }
                        //添加實發工資總數
                        str += string.Format("<hr style=\"Height: 3px; border: none; BackGround: LightBlue \"/></div><div><span style=\"font-size: 32px; color: rgb(0, 0, 255); \">實發工資:{0}</span></div>", dataTable.Rows[RowNum][dataTable.Columns.Count - 3].ToString());
                        #endregion
                        break;

後面再補充!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章