如果 Excel 列在 asp.net c# 中具有某些值,则提示消息

hud*_*hab 8 c# asp.net excel

我有一个用户上传 Excel 的标准。因此,我想检查列是否Is Replacement (Y/N)有值,因为Y我希望Replacement SAP ID不能为空。如果该列为空,则提示警报消息。下面是相同的图像。

卓越

System.Data.OleDb.OleDbConnection connExcel = new System.Data.OleDb.OleDbConnection(conStr);
            System.Data.OleDb.OleDbCommand cmdExcel = new System.Data.OleDb.OleDbCommand();
            System.Data.OleDb.OleDbDataAdapter oda = new System.Data.OleDb.OleDbDataAdapter();
            cmdExcel.Connection = connExcel;
            connExcel.Open();

            System.Data.DataTable dtExcelSchema = connExcel.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
            System.Data.DataTable dtExcelColumnsTable = connExcel.GetSchema("Columns");
            string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString().Replace('\'', ' ').Trim();  //nadeem
            cmdExcel.CommandText = "SELECT * From [" + SheetName + "]";
            oda.SelectCommand = cmdExcel;
            oda.Fill(dtExcelRows);
Run Code Online (Sandbox Code Playgroud)

我将所有列放入dtExcelRows

小智 5

我认为使用业务异常是很好的,当替换 SAP ID为空时,您应该引发异常。

foreach(var item in dtExcelRows["ColumnName"]){
    if(string.IsEmptyOrNull(item){
           throw new HttpException((int)HttpStatusCode.BadRequest, "SAP ID is Empty.");
      }
}
Run Code Online (Sandbox Code Playgroud)

我只是编写了一些伪代码,我不确定是否从列中读取数据。

而如果在前端处理BadRequest异常,则可以向客户端提示一条警报消息。