//重新导入用户 public void ReImportUserFromDefaultFile(object obj) { //删除当前所有用户 for (int i = users.Count - 1; i >= 0; i--) { RemoveUserAt(i); } //读取用户配置文件, 并添加用户 if (userRW.ReadDefaultUserFile()) { if (userRW.UserInfoList.Count > 0) { foreach (UserBasicInfo userInfo in userRW.UserInfoList) { if (userInfo.terminalGrpNO == SysConfig.Setting.groupNumber) //若组号相等, 则将用户加入 { AddUser(userInfo); } } } } //写入用户全部更新记录 worklog.LogQueue_Enqueue(LogCommand.getUserUpdateRecord(1, users, null)); }
//导入用户 按钮 void btnSysSetImport_Click(object sender, EventArgs e) { List <UserBasicInfo> userList = null; int SuccessCnt = 0; //导入成功的文件数目 OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Excel,JPG,PNG|*.xlsx;*.xls;*.jpg;*.jpeg;*.png"; openFileDialog.FilterIndex = 0; openFileDialog.RestoreDirectory = true; //保存对话框是否记忆上次打开的目录 openFileDialog.Multiselect = true; openFileDialog.InitialDirectory = Application.StartupPath + @"\res\UserTable"; openFileDialog.Title = "导入用户配置文件"; if (openFileDialog.ShowDialog() == DialogResult.OK) { if (openFileDialog.FileNames != null) { string[] filesPath = openFileDialog.FileNames; foreach (string filePath in filesPath) { if (Path.GetExtension(filePath).Contains("xlsx") || Path.GetExtension(filePath).Contains("xls")) //若是excel文件 { userList = userRW.ReadUserInfoFile(openFileDialog.FileName); //读取导入文件中的用户 if (userList != null) { //删除当前所有用户 for (int i = users.Count - 1; i >= 0; i--) { RemoveUserAt(i); } if (userList.Count > 0) { foreach (UserBasicInfo userInfo in userList) { AddUser(userInfo); } } //更新默认用户文件 userRW.SaveUserInfoFile(userRW.DefaultUserFileName, users); //写入按钮点击记录 worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ImportUsers, openFileDialog.FileName)); //写入用户全部更新记录 worklog.LogQueue_Enqueue(LogCommand.getUserUpdateRecord(1, users, null)); SuccessCnt++; } } else //若是图像文件 { if (AppUtil.CopyFileTo(filePath, ".\\res\\UserTable")) // 直接将其拷贝到用户目录下 { SuccessCnt++; } } } if (SuccessCnt == 0) { MessageBox.Show("导入失败"); } else if (SuccessCnt < filesPath.Length) { MessageBox.Show("部分导入成功"); } else { MessageBox.Show("导入成功"); } } } }