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 }
});
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
Name = "CreateTime",
HeaderText = "时间日期",
Width = 170,
DataPropertyName = "CreateTime",
Name = "kzh",
HeaderText = "刻字号",
Width = 80,
DataPropertyName = "kzh",
SortMode = DataGridViewColumnSortMode.NotSortable,
DefaultCellStyle = {
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
{
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
{
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();
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>
/// 创建按钮
@@ -405,21 +500,21 @@ namespace 全自动水压检测仪
string filePath = saveFileDialog.FileName;
switch (Path.GetExtension(filePath).ToLower())
{
case ".csv":
ExportToCsv(filePath);
break;
case ".txt":
ExportToTxt(filePath);
break;
case ".xlsx":
ExportToExcel(filePath);
break;
default:
ExportToCsv(filePath);
break;
}
//switch (Path.GetExtension(filePath).ToLower())
//{
//case ".csv":
// ExportToCsv(filePath);
// break;
//case ".txt":
// ExportToTxt(filePath);
// break;
//case ".xlsx":
ExportToExcel(filePath);
// break;
// default:
// ExportToCsv(filePath);
// break;
//}
MessageBox.Show($"报表已成功导出到:\n{filePath}", "导出成功",
MessageBoxButtons.OK, MessageBoxIcon.Information);
@@ -431,71 +526,6 @@ namespace 全自动水压检测仪
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>
/// 导出为Excel文件简单实现
/// </summary>
@@ -532,7 +562,7 @@ namespace 全自动水压检测仪
currentRow += 2;
// 表头
string[] headers = { "编号", "联络单号", "件号", "时间日期", "初始压力(PSI)", "结束压力(PSI)", "压差(PSI)", "保压时间(h)", "温度模式" };
string[] headers = { "编号", "联络单号", "件号", "刻字号", "数量", "初始压力(PSI)", "开始时间", "结束时间", "结束压力(PSI)", "保压时间(h)", "压差(PSI)", "温度模式", "标准差值(PSI)", "测试结果", "时间日期"};
for (int i = 0; i < headers.Length; i++)
{