using OfficeOpenXml; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Windows.Forms; using 口罩泄露定制款.Excle; using 口罩泄露定制款.Log; namespace 口罩泄露测试仪控制系统_定制款.窗体 { public partial class frm_Audit_Trail : Form { private Logger _logger = new Logger(); private string logFilePath; UserExcleHelper userExcle = new UserExcleHelper(); public frm_Audit_Trail() { InitializeComponent(); //将读取到的list中的用户名填充进入combbox中 List userList = userExcle.ReadUserNameData(); foreach (string user in userList) { cbb_User.Items.Add(user); } if (cbb_User.Items.Count > 0) { cbb_User.SelectedIndex = 0; } // 设置日志文件路径,可以是相对路径或绝对路径 logFilePath = _logger.LogFilePath; uiDatePicker1.Text = DateTime.Now.ToShortDateString(); LoadLogsIntoListView(); dgv_Log.Font= new System.Drawing.Font("黑体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); } private void LoadLogsIntoListView() { // listViewLogs.Items.Clear(); if (!File.Exists(logFilePath)) { MessageBox.Show("日志文件不存在!"); return; } //将Excle文件内容导入listview FileInfo existingFile = new FileInfo(logFilePath); using (ExcelPackage package = new ExcelPackage(existingFile)) { // Assume we are reading from the first worksheet ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; int rowCount = worksheet.Dimension.Rows; int colCount = worksheet.Dimension.Columns; DataTable dt = new DataTable(); dt.Columns.Add("日期"); dt.Columns.Add("时间"); dt.Columns.Add("操作员"); dt.Columns.Add("操作内容"); dt.Columns.Add("操作结果"); for (int i = 2; i <= worksheet.Dimension.Rows; i++) { DataRow dr = dt.NewRow(); dr["日期"] = worksheet.Cells[i, 1].Value.ToString(); dr["时间"] = worksheet.Cells[i, 2].Value.ToString(); dr["操作员"] = worksheet.Cells[i, 3].Value.ToString(); dr["操作内容"] = worksheet.Cells[i, 4].Value.ToString(); dr["操作结果"] = worksheet.Cells[i, 5].Value.ToString(); dt.Rows.Add(dr); } dgv_Log.DataSource = dt; dgv_Log.Columns[3].Width = 200; } } private void LoadLogsIntoListView_Index(string key) { // listViewLogs.Items.Clear(); if (!File.Exists(logFilePath)) { MessageBox.Show("日志文件不存在!"); return; } //将Excle文件内容导入listview FileInfo existingFile = new FileInfo(logFilePath); using (ExcelPackage package = new ExcelPackage(existingFile)) { // Assume we are reading from the first worksheet ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; int rowCount = worksheet.Dimension.Rows; int colCount = worksheet.Dimension.Columns; DataTable dt = new DataTable(); dt.Columns.Add("日期"); dt.Columns.Add("时间"); dt.Columns.Add("操作员"); dt.Columns.Add("操作内容"); dt.Columns.Add("操作结果"); for (int i = 2; i <= worksheet.Dimension.Rows; i++) { if (worksheet.Cells[i, 3].Value.ToString().Contains(key)) { DataRow dr = dt.NewRow(); dr["日期"] = worksheet.Cells[i, 1].Value.ToString(); dr["时间"] = worksheet.Cells[i, 2].Value.ToString(); dr["操作员"] = worksheet.Cells[i, 3].Value.ToString(); dr["操作内容"] = worksheet.Cells[i, 4].Value.ToString(); dr["操作结果"] = worksheet.Cells[i, 5].Value.ToString(); dt.Rows.Add(dr); } } dgv_Log.DataSource = dt; dgv_Log.Columns[3].Width = 200; } } private void uiButton1_Click(object sender, EventArgs e) { _logger.Log("张三", "点击了保存按钮", "1"); } private void btn_Serch_Click(object sender, EventArgs e) { string key = uiDatePicker1.Text.Trim(); if (string.IsNullOrEmpty(key)) { MessageBox.Show("请输入查询关键字!"); return; } logFilePath = Application.StartupPath + "\\日志保存\\" + key + ".xlsx"; LoadLogsIntoListView_Index(cbb_User.Text.Trim()); } } }