private void button1_Click(object sender, RibbonControlEventArgs e) { UserAccessForm form = new UserAccessForm(); ExcelUser me = new ExcelUser("Lucas", "Glass", UserAccessLevel.Admin); form.checkedListBox1.Items.Add(me); form.checkedListBox1.Items.Add(new ExcelUser() { FirstName = "Jon", LastName = "Deming" }, false); form.checkedListBox1.Items.Add(new ExcelUser() { FirstName = "Friend Lee", LastName = "Deming" }, false); //me.OnAccessLevelChanged += Me_OnAccessLevelChanged; me.AccessLevel = UserAccessLevel.Default; //form.checkedListBox1.ItemCheck += CheckedListBox1_ItemCheck; form.Show(); }
void SelectionLocationReceived(object sender, EventArgs e) { RangePacket packet = (RangePacket)sender; Range selection = ActiveWorksheet.Range[packet.RangeInfo]; ExcelUser user = packet.User; if (lastRange != null) { Debug.WriteLine(lastLeftColor); lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].Color = lastLeftColor; lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight = lastLeftWeight; lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].LineStyle = lastLeftStyle; lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].Color = lastTopColor; lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].Weight = lastTopWeight; lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].LineStyle = lastTopStyle; lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].Color = lastRightColor; lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].Weight = lastRightWeight; lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].LineStyle = lastRightStyle; lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].Color = lastBottomColor; lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight = lastBottomWeight; lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].LineStyle = lastBottomStyle; lastRange.ClearComments(); if (lastComments.Count >= 0) { if (lastComments[0] != null) { lastRange.AddComment(lastComments[0]); } } //all you have to do is .copy!!!!!!!!!!!!!!!!!!!!!! //selection.Copy(lastRange); //ActiveWorksheet.Range["A1"].Value = "test"; } lastRange = selection; Debug.WriteLine("got selection change"); ActiveRange = selection; lastComments = new List <string>(); lastLeftColor = (XlRgbColor)selection.Borders.Item[XlBordersIndex.xlEdgeLeft].Color; lastLeftWeight = (XlBorderWeight)selection.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight; lastLeftStyle = (XlLineStyle)selection.Borders.Item[XlBordersIndex.xlEdgeLeft].LineStyle; lastTopColor = (XlRgbColor)selection.Borders.Item[XlBordersIndex.xlEdgeTop].Color; lastTopWeight = (XlBorderWeight)selection.Borders.Item[XlBordersIndex.xlEdgeTop].Weight; lastTopStyle = (XlLineStyle)selection.Borders.Item[XlBordersIndex.xlEdgeTop].LineStyle; lastRightColor = (XlRgbColor)selection.Borders.Item[XlBordersIndex.xlEdgeRight].Color; lastRightWeight = (XlBorderWeight)selection.Borders.Item[XlBordersIndex.xlEdgeRight].Weight; lastRightStyle = (XlLineStyle)selection.Borders.Item[XlBordersIndex.xlEdgeRight].LineStyle; lastBottomColor = (XlRgbColor)selection.Borders.Item[XlBordersIndex.xlEdgeBottom].Color; lastBottomWeight = (XlBorderWeight)selection.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight; lastBottomStyle = (XlLineStyle)selection.Borders.Item[XlBordersIndex.xlEdgeBottom].LineStyle; selection.Borders.Item[XlBordersIndex.xlEdgeLeft].Color = XlRgbColor.rgbBlue; selection.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlMedium; selection.Borders.Item[XlBordersIndex.xlEdgeTop].Color = XlRgbColor.rgbBlue; selection.Borders.Item[XlBordersIndex.xlEdgeTop].Weight = XlBorderWeight.xlMedium; selection.Borders.Item[XlBordersIndex.xlEdgeRight].Color = XlRgbColor.rgbBlue; selection.Borders.Item[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlMedium; selection.Borders.Item[XlBordersIndex.xlEdgeBottom].Color = XlRgbColor.rgbBlue; selection.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlMedium; lastComments.Add(selection.Comment?.Text()); selection.ClearComments(); Debug.WriteLine("Made it to comment adding"); if (selection.Count < 2) { selection.AddComment(user.ToString() + ": Updating this cell at the moment"); } else { selection[selection.Columns.Count]?.AddComment(user.ToString() + ": Updating these cells at the moment"); } }
private void Application_SheetSelectionChange(object Sh, Range Target) { /*if (lastRange != null) * { * Debug.WriteLine(lastLeftColor); * lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].Color = lastLeftColor; * lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight = lastLeftWeight; * lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].LineStyle = lastLeftStyle; * lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].Color = lastTopColor; * lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].Weight = lastTopWeight; * lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].LineStyle = lastTopStyle; * lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].Color = lastRightColor; * lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].Weight = lastRightWeight; * lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].LineStyle = lastRightStyle; * lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].Color = lastBottomColor; * lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight = lastBottomWeight; * lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].LineStyle = lastBottomStyle; * int count = 0; * foreach (Range r in lastRange) * { * r.ClearComments(); * if (lastComments[count] != null) * r.AddComment(lastComments[count]); * count++; * } * //all you have to do is .copy!!!!!!!!!!!!!!!!!!!!!! * Target.Copy(lastRange); * ActiveWorksheet.Range["A1"].Value = "test"; * } * lastRange = Target; * Debug.WriteLine("got selection change"); * ActiveRange = Target; * lastComments = new List<string>(); * * lastLeftColor = (XlRgbColor)Target.Borders.Item[XlBordersIndex.xlEdgeLeft].Color; * lastLeftWeight = (XlBorderWeight)Target.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight; * lastLeftStyle = (XlLineStyle)Target.Borders.Item[XlBordersIndex.xlEdgeLeft].LineStyle; * lastTopColor = (XlRgbColor)Target.Borders.Item[XlBordersIndex.xlEdgeTop].Color; * lastTopWeight = (XlBorderWeight)Target.Borders.Item[XlBordersIndex.xlEdgeTop].Weight; * lastTopStyle = (XlLineStyle)Target.Borders.Item[XlBordersIndex.xlEdgeTop].LineStyle; * lastRightColor = (XlRgbColor)Target.Borders.Item[XlBordersIndex.xlEdgeRight].Color; * lastRightWeight = (XlBorderWeight)Target.Borders.Item[XlBordersIndex.xlEdgeRight].Weight; * lastRightStyle = (XlLineStyle)Target.Borders.Item[XlBordersIndex.xlEdgeRight].LineStyle; * lastBottomColor = (XlRgbColor)Target.Borders.Item[XlBordersIndex.xlEdgeBottom].Color; * lastBottomWeight = (XlBorderWeight)Target.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight; * lastBottomStyle = (XlLineStyle)Target.Borders.Item[XlBordersIndex.xlEdgeBottom].LineStyle; * * Target.Borders.Item[XlBordersIndex.xlEdgeLeft].Color = XlRgbColor.rgbBlue; * Target.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlMedium; * Target.Borders.Item[XlBordersIndex.xlEdgeTop].Color = XlRgbColor.rgbBlue; * Target.Borders.Item[XlBordersIndex.xlEdgeTop].Weight = XlBorderWeight.xlMedium; * Target.Borders.Item[XlBordersIndex.xlEdgeRight].Color = XlRgbColor.rgbBlue; * Target.Borders.Item[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlMedium; * Target.Borders.Item[XlBordersIndex.xlEdgeBottom].Color = XlRgbColor.rgbBlue; * Target.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlMedium; * foreach (Range r in Target) * { * lastComments.Add(r.Comment?.Text()); * r.ClearComments(); * r.AddComment(ActiveWorkbook?.Author + ": Updating this cell at the moment"); * }*/ RangePacket packet = new RangePacket(); //Target.Borders[XlBordersIndex.xlEdgeTop] Debug.WriteLine(Target.Address); packet.RangeInfo = Target.Address; ExcelUser user = new ExcelUser("Lucas", "Glass"); packet.User = user; TCPClient.SendSelectionUpdate(packet); }
/// <summary> /// 导入数据 /// </summary> /// <param name="impdto"></param> /// <returns></returns> public bool ImportData(List <ExcelImportDataDTO> impdtolst) { bool blResult = false; using (var tcdmse = new Entities.TCDMS_MasterDataEntities()) { foreach (var p in impdtolst) { if (p is ExcelUser) // 判断是否为用户信息 { ExcelUser exrdt = p as ExcelUser; if (exrdt.UpLogic == 2) { var origin = tcdmse.master_UserInfo.Where(m => m.UserID == exrdt.UserID).FirstOrDefault(); origin.UserCode = exrdt.UserCode; origin.FullName = exrdt.FullName; origin.PhoneNumber = exrdt.PhoneNumber; origin.Email = exrdt.Email; origin.IsActive = true; origin.ModifyUser = exrdt.Importer; origin.ModifyTime = DateTime.Now; origin.StopTime = DateTime.Parse(exrdt.StopTime); origin.master_DistributorInfo.Clear(); var pp = tcdmse.master_DistributorInfo.Where(w => exrdt.DistributorNamelist.Contains(w.DistributorName)); pp.ToList().ForEach(g => {//经销商 origin.master_DistributorInfo.Add(g); }); origin.master_RoleInfo.Clear(); var qq = tcdmse.master_RoleInfo.Where(w => exrdt.RoleNamelist.Contains(w.RoleName)); origin.UserType = qq.Select(s => s.RoleType).FirstOrDefault(); qq.ToList().ForEach(g =>//角色 { origin.master_RoleInfo.Add(g); }); } else { master_UserInfo mprd = new master_UserInfo(); mprd.UserCode = exrdt.UserCode; mprd.FullName = exrdt.FullName; mprd.PhoneNumber = exrdt.PhoneNumber; mprd.Email = exrdt.Email; mprd.IsActive = true; mprd.DepartID = 1; mprd.CreateUser = exrdt.Importer; mprd.CreateTime = DateTime.Now; if (!string.IsNullOrEmpty(exrdt.StopTime))//到期日 { mprd.StopTime = DateTime.Parse(exrdt.StopTime); } var pp = tcdmse.master_DistributorInfo.Where(w => exrdt.DistributorNamelist.Contains(w.DistributorName)); pp.ToList().ForEach(g => {//经销商 mprd.master_DistributorInfo.Add(g); }); var qq = tcdmse.master_RoleInfo.Where(w => exrdt.RoleNamelist.Contains(w.RoleName)); mprd.UserType = qq.Select(s => s.RoleType).FirstOrDefault(); qq.ToList().ForEach(g =>//角色 { mprd.master_RoleInfo.Add(g); }); tcdmse.master_UserInfo.Add(mprd); // 记录日志 this.AddLog(tcdmse, new LogData { CurrentLogType = LogType.IMPORT, LogDetails = "导入用户" + exrdt.FullName, OpratorName = exrdt.Importer }); } } } blResult = tcdmse.SaveChanges() > 0; } return(blResult); }