更新
This commit is contained in:
@@ -1863,11 +1863,19 @@ namespace WindowsFormsApp6
|
|||||||
|
|
||||||
if (isMergedRow)
|
if (isMergedRow)
|
||||||
{
|
{
|
||||||
// 合并为一列,只显示第一个试样的值
|
// 按每5个试样一组显示
|
||||||
ICell valueCell = row.CreateCell(1);
|
int groupCount = (int)Math.Ceiling((double)sampleCount / 5.0);
|
||||||
if (dataTable.Columns.Contains("试样1") && dataRow["试样1"] != DBNull.Value)
|
|
||||||
|
for (int groupIndex = 0; groupIndex < groupCount; groupIndex++)
|
||||||
{
|
{
|
||||||
object value = dataRow["试样1"];
|
int startSample = groupIndex * 5 + 1;
|
||||||
|
int endSample = Math.Min(startSample + 4, sampleCount);
|
||||||
|
|
||||||
|
// 查找该组的统计值(存储在该组第一个试样的列中)
|
||||||
|
ICell valueCell = row.CreateCell(startSample);
|
||||||
|
if (dataTable.Columns.Contains($"试样{startSample}") && dataRow[$"试样{startSample}"] != DBNull.Value)
|
||||||
|
{
|
||||||
|
object value = dataRow[$"试样{startSample}"];
|
||||||
if (value != null && double.TryParse(value.ToString(), out double numValue))
|
if (value != null && double.TryParse(value.ToString(), out double numValue))
|
||||||
{
|
{
|
||||||
valueCell.SetCellValue(numValue);
|
valueCell.SetCellValue(numValue);
|
||||||
@@ -1883,13 +1891,18 @@ namespace WindowsFormsApp6
|
|||||||
}
|
}
|
||||||
valueCell.CellStyle = styles.yellowStyle;
|
valueCell.CellStyle = styles.yellowStyle;
|
||||||
|
|
||||||
// 为合并区域的其他单元格设置样式
|
// 为该组的其他单元格设置样式
|
||||||
for (int i = 2; i <= sampleCount; i++)
|
for (int i = startSample + 1; i <= endSample; i++)
|
||||||
{
|
{
|
||||||
row.CreateCell(i).CellStyle = styles.yellowStyle;
|
row.CreateCell(i).CellStyle = styles.yellowStyle;
|
||||||
}
|
}
|
||||||
// 合并单元格
|
|
||||||
sheet.AddMergedRegion(new CellRangeAddress(currentRow - 1, currentRow - 1, 1, sampleCount));
|
// 合并该组的单元格
|
||||||
|
if (endSample > startSample)
|
||||||
|
{
|
||||||
|
sheet.AddMergedRegion(new CellRangeAddress(currentRow - 1, currentRow - 1, startSample, endSample));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user