Удалите dbnull/пустые ячейки из моего datatable C#
Привет ребята
У меня есть запрос, который извлекает данные из базы данных через Storedproceduer. Затем данные сохраняются в DataTable, а затем в сеанс и затем экспортируются в excel с помощью нажатия кнопки.
Моя проблема заключается в том, что в моей таблице есть десятки нулевых значений, и я хочу, чтобы они были удалены перед экспортом в excel.
Вот как выглядит мой код со всем этим:
БД методом:
public void GetData() { try { DataTable dt = new DataTable(); SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); connection.Open(); using (SqlCommand sqlCmd = new SqlCommand("DAtabase.dbo.SP_EXPORT", connection)) //Extract data: no cons first and cons after { sqlCmd.CommandType = CommandType.StoredProcedure; using (SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd)) { sqlDa.Fill(dt); if (dt.Rows.Count > 0) { Session["TaskTable"] = dt; } } } } catch (Exception) { Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('No data found, try again');", true); } }
Моя функция экспорта:
<pre>protected void Button_Export_DS_Click(object sender, EventArgs e) { if (dtNew.Rows.Count > 0) { MemoryStream ms = new MemoryStream(); int i = 1; using (ExcelPackage package = new ExcelPackage(ms)) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet" + i++); worksheet.Cells["A1"].LoadFromDataTable(dtNew, true); worksheet.Cells.AutoFitColumns(); Response.Clear(); package.SaveAs(Response.OutputStream); Response.AddHeader("content-disposition", "attachchment; filename=DS_Export.xls"); Response.Charset = ""; Response.ContentType = "application/vnd.xls"; Response.End(); } } }
Что я уже пробовал:
Я безуспешно искал различные решения в интернете, надеюсь, кто-то сможет мне в этом помочь.
Изменить SQL-код невозможно, так как он работает с функцией pvt, основанной на датах!