This commit is contained in:
wxt
2026-02-05 09:30:22 +08:00
parent 84d1e7e08f
commit 3be8989028

View File

@@ -146,16 +146,31 @@ namespace 全自动水压检测仪
DefaultCellStyle = { Alignment = DataGridViewContentAlignment.MiddleCenter } DefaultCellStyle = { Alignment = DataGridViewContentAlignment.MiddleCenter }
}); });
dataGridView.Columns.Add(new DataGridViewTextBoxColumn dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{ {
Name = "CreateTime", Name = "kzh",
HeaderText = "时间日期", HeaderText = "刻字号",
Width = 170, Width = 80,
DataPropertyName = "CreateTime", DataPropertyName = "kzh",
SortMode = DataGridViewColumnSortMode.NotSortable, SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = { DefaultCellStyle = {
Alignment = DataGridViewContentAlignment.MiddleCenter, Alignment = DataGridViewContentAlignment.MiddleCenter,
Format = "yyyy-MM-dd HH:mm:ss" // 设置日期格式
}
});
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
Name = "quantity",
HeaderText = "数量",
Width = 80,
DataPropertyName = "quantity",
SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = {
Alignment = DataGridViewContentAlignment.MiddleCenter,
} }
}); });
@@ -172,6 +187,33 @@ namespace 全自动水压检测仪
} }
}); });
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
Name = "starttime",
HeaderText = "开始时间",
Width = 170,
DataPropertyName = "starttime",
SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = {
Alignment = DataGridViewContentAlignment.MiddleCenter,
Format = "yyyy-MM-dd HH:mm:ss" // 设置日期格式
}
});
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
Name = "endtime",
HeaderText = "结束时间",
Width = 170,
DataPropertyName = "endtime",
SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = {
Alignment = DataGridViewContentAlignment.MiddleCenter,
Format = "yyyy-MM-dd HH:mm:ss" // 设置日期格式
}
});
dataGridView.Columns.Add(new DataGridViewTextBoxColumn dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{ {
Name = "endpressure", Name = "endpressure",
@@ -185,21 +227,6 @@ namespace 全自动水压检测仪
} }
}); });
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
Name = "diffpressure",
HeaderText = "压差(PSI)",
Width = 75,
DataPropertyName = "DiffPressure",
SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = {
Alignment = DataGridViewContentAlignment.MiddleCenter,
Format = "F2"
}
});
dataGridView.Columns.Add(new DataGridViewTextBoxColumn dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{ {
Name = "dwelltime", Name = "dwelltime",
@@ -213,8 +240,76 @@ namespace 全自动水压检测仪
} }
}); });
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
Name = "diffpressure",
HeaderText = "压差(PSI)",
Width = 75,
DataPropertyName = "DiffPressure",
SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = {
Alignment = DataGridViewContentAlignment.MiddleCenter,
Format = "F2"
}
});
DataGridViewTextBoxColumn temperatureColumn = CreateTemperatureModeColumn(); DataGridViewTextBoxColumn temperatureColumn = CreateTemperatureModeColumn();
dataGridView.Columns.Add(temperatureColumn); dataGridView.Columns.Add(temperatureColumn);
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
Name = "standarderror",
HeaderText = "标准差值(PSI)",
Width = 75,
DataPropertyName = "standarderror",
SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = {
Alignment = DataGridViewContentAlignment.MiddleCenter,
Format = "F2"
}
});
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
Name = "testresult",
HeaderText = "测试结果",
Width = 75,
DataPropertyName = "testresult",
SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = {
Alignment = DataGridViewContentAlignment.MiddleCenter,
}
});
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
Name = "CreateTime",
HeaderText = "时间日期",
Width = 170,
DataPropertyName = "CreateTime",
SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = {
Alignment = DataGridViewContentAlignment.MiddleCenter,
Format = "yyyy-MM-dd HH:mm:ss" // 设置日期格式
}
});
} }
/// <summary> /// <summary>
/// 创建按钮 /// 创建按钮
@@ -405,21 +500,21 @@ namespace 全自动水压检测仪
string filePath = saveFileDialog.FileName; string filePath = saveFileDialog.FileName;
switch (Path.GetExtension(filePath).ToLower()) //switch (Path.GetExtension(filePath).ToLower())
{ //{
case ".csv": //case ".csv":
ExportToCsv(filePath); // ExportToCsv(filePath);
break; // break;
case ".txt": //case ".txt":
ExportToTxt(filePath); // ExportToTxt(filePath);
break; // break;
case ".xlsx": //case ".xlsx":
ExportToExcel(filePath); ExportToExcel(filePath);
break; // break;
default: // default:
ExportToCsv(filePath); // ExportToCsv(filePath);
break; // break;
} //}
MessageBox.Show($"报表已成功导出到:\n{filePath}", "导出成功", MessageBox.Show($"报表已成功导出到:\n{filePath}", "导出成功",
MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBoxButtons.OK, MessageBoxIcon.Information);
@@ -431,71 +526,6 @@ namespace 全自动水压检测仪
MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
/// <summary>
/// 修改导出功能中的温度模式显示
/// </summary>
private void ExportToCsv(string filePath)
{
using (StreamWriter writer = new StreamWriter(filePath, false, System.Text.Encoding.UTF8))
{
// 写入表头
writer.WriteLine("编号,联络单号,件号,时间日期,初始压力(PSI),结束压力(PSI),压差(PSI),保压时间(h),温度模式");
// 写入数据
foreach (var data in CurrentReport)
{
string tempMode = GetTemperatureModeDisplay(data.Type);
writer.WriteLine($"{data.Id}," +
$"{data.ContactNumber ?? ""}," +
$"{data.ItemNumber ?? ""}," +
$"{data.CreateTime:yyyy-MM-dd HH:mm:ss}," +
$"{data.startpressure:F2}," +
$"{data.endpressure:F2}," +
$"{data.diffpressure:F2}," +
$"{data.dwelltime:F1}," +
$"{tempMode}");
}
}
}
/// <summary>
/// 修改文本导出中的温度模式显示
/// </summary>
private void ExportToTxt(string filePath)
{
using (StreamWriter writer = new StreamWriter(filePath, false, System.Text.Encoding.UTF8))
{
writer.WriteLine("===================== 测试数据报表 =====================");
writer.WriteLine($"生成时间:{DateTime.Now:yyyy-MM-dd HH:mm:ss}");
writer.WriteLine($"记录数量:{CurrentReport.Count}");
writer.WriteLine("=======================================================\n");
// 写入表头
writer.WriteLine(string.Format("{0,-8}{1,-15}{2,-15}{3,-20}{4,-12}{5,-12}{6,-12}{7,-12}{8,-10}",
"编号", "联络单号", "件号", "时间日期", "初始压力", "结束压力", "压差", "保压时间", "温度模式"));
writer.WriteLine(new string('-', 130));
// 写入数据
foreach (var data in CurrentReport)
{
string tempMode = GetTemperatureModeDisplay(data.Type);
writer.WriteLine(string.Format("{0,-8}{1,-15}{2,-15}{3,-20}{4,-12:F2}{5,-12:F2}{6,-12:F2}{7,-12:F1}{8,-10}",
data.Id,
data.ContactNumber ?? "",
data.ItemNumber ?? "",
data.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
data.startpressure,
data.endpressure,
data.diffpressure,
data.dwelltime,
tempMode));
}
}
}
/// <summary> /// <summary>
/// 导出为Excel文件简单实现 /// 导出为Excel文件简单实现
/// </summary> /// </summary>
@@ -532,7 +562,7 @@ namespace 全自动水压检测仪
currentRow += 2; currentRow += 2;
// 表头 // 表头
string[] headers = { "编号", "联络单号", "件号", "时间日期", "初始压力(PSI)", "结束压力(PSI)", "压差(PSI)", "保压时间(h)", "温度模式" }; string[] headers = { "编号", "联络单号", "件号", "刻字号", "数量", "初始压力(PSI)", "开始时间", "结束时间", "结束压力(PSI)", "保压时间(h)", "压差(PSI)", "温度模式", "标准差值(PSI)", "测试结果", "时间日期"};
for (int i = 0; i < headers.Length; i++) for (int i = 0; i < headers.Length; i++)
{ {