验证excel电子表格的每一行和每一列



我正在上传一个包含5列和约10行的excel文件表。我想验证每一行/每一列,并确保有数据。列不能是null或为空。我正在使用Epplus。

如果某些行未通过验证,我希望跟踪行/列并发送以下消息返回客户端。我只有一张工作表。我认为最好有一个错误模型

我该如何实现这一点?这些代码将何去何从?

//check if there is actually a file being uploaded
if (FileUpload1.HasFile)
{
//load the uploaded file into the memorystream
using (MemoryStream stream = new MemoryStream(FileUpload1.FileBytes))
using (ExcelPackage excelPackage = new ExcelPackage(stream))
{
//loop all worksheets
foreach (ExcelWorksheet worksheet in excelPackage.Workbook.Worksheets)
{
//loop all rows
for (int i = worksheet.Dimension.Start.Row; i <= worksheet.Dimension.End.Row; i++)
{
//loop all columns in a row
for (int j = worksheet.Dimension.Start.Column; j <= worksheet.Dimension.End.Column; j++)
{
//add the cell data to the List
if (worksheet.Cells[i, j].Value != null)
{
excelData.Add(worksheet.Cells[i, j].Value.ToString());
}
}
}
}
}
}

我建议使用一个简单的List<string>来跟踪您的错误。

类似于:

List<string> errors = new List<string>();

然后在您的验证中:

if (String.IsNullOrEmpty(worksheet.Cells[i, j].Value))
errors.Add($"Worksheet {worksheet.Name}, Row {i}, Column {j} does not contain data.");

最新更新