【问题标题】:Validating each row and column of an excel spread sheet验证excel电子表格的每一行和每一列
【发布时间】:2020-05-09 10:42:37
【问题描述】:

我正在上传一个包含 5 列和大约 10 行的 excel 文件表。 我想验证每一行/列并确保有数据。列不能 为空或为空。我正在使用 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());
                            }
                        }
                    }
                }
            }
        }

【问题讨论】:

    标签: c# epplus


    【解决方案1】:

    我建议使用简单的List&lt;string&gt; 来跟踪您的错误。

    类似:

    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.");
    

    【讨论】:

    • 谢谢。所以这可以写在这里的内部for循环语句中 for (int j = worksheet.Dimension.Start.Column; j
    • 是的,这就是它应该去的地方。
    猜你喜欢
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    相关资源
    最近更新 更多