Files
kou_zhaoxielou_shandong/口罩泄露定制款/Form/frm_Audit_Trail.cs
2026-01-16 20:53:33 +08:00

139 lines
5.3 KiB
C#

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<string> 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());
}
}
}