Files
CSI-Z420-Tablet-Multi-Funct…/Services/ExcelExportService.cs
2026-05-05 15:31:24 +08:00

43 lines
1.8 KiB
C#

using OfficeOpenXml;
using System.Collections.Generic;
using System.IO;
using TabletTester2025.Models;
namespace TabletTester2025.Services
{
public class ExcelExportService
{
public void ExportToExcel(IEnumerable<TestBatch> batches, string filePath)
{
using var package = new ExcelPackage(new FileInfo(filePath));
var sheet = package.Workbook.Worksheets.Add("检测记录");
sheet.Cells[1, 1].Value = "时间";
sheet.Cells[1, 2].Value = "工位";
sheet.Cells[1, 3].Value = "样品";
sheet.Cells[1, 4].Value = "硬度平均值(N)";
sheet.Cells[1, 5].Value = "硬度RSD(%)";
sheet.Cells[1, 6].Value = "脆碎度失重(%)";
sheet.Cells[1, 7].Value = "崩解时间(秒)";
sheet.Cells[1, 8].Value = "剩余未崩解管数";
sheet.Cells[1, 9].Value = "溶出度(30min %)";
sheet.Cells[1, 10].Value = "合格";
int row = 2;
foreach (var b in batches)
{
sheet.Cells[row, 1].Value = b.TestTime.ToString("yyyy-MM-dd HH:mm:ss");
sheet.Cells[row, 2].Value = b.StationId;
sheet.Cells[row, 3].Value = b.SampleName;
sheet.Cells[row, 4].Value = b.HardnessAvg;
sheet.Cells[row, 5].Value = b.HardnessRSD;
sheet.Cells[row, 6].Value = b.FriabilityLoss;
sheet.Cells[row, 7].Value = b.DisintegrationTimeSec;
sheet.Cells[row, 8].Value = b.RemainingTubesAtEnd;
sheet.Cells[row, 9].Value = b.DissolutionRate30Min;
sheet.Cells[row, 10].Value = b.IsQualified ? "合格" : "不合格";
row++;
}
sheet.Cells.AutoFitColumns();
package.Save();
}
}
}