Вы можете просто не включать эти два столбца в таблицу HTML, если они вам не нужны .... или вы можете переписать таблицу, когда пользователь нажмет кнопку "Экспорт в Excel" и не будет включать столбцы , Вы также можете иметь таблицу плюс другую таблицу со скрытыми столбцами и получать данные из нее, когда пользователь нажимает кнопку «Экспорт в Excel». Кроме того, вы вообще не сможете отобразить данные, и когда пользователь загрузит страницу или нажмет кнопку, загрузите данные без столбцов. Удачи!
EDITED: для этого эксклюзивного сценария вы можете отредактировать код следующим образом:
// add the header row to the table
if (gv.HeaderRow != null)
{
TableRow tr = new TableRow();
foreach (DataControlFieldHeaderCell c in gv.HeaderRow.Cells)
{
if (c.Text != " ") {
tr.Cells.Add(new TableCell() { Text = c.Text});
}
}
PrepareControlForExport(tr);
table.Rows.Add(tr);
}
То, что делает эта часть кода, состоит в том, чтобы проходить через каждую ячейку в строке заголовка, и если она пуста, не включайте ее. Затем добавьте его в таблицу HTML. Это может быть изменено, если требуется, чтобы остальная часть таблицы добавила область ячеек, к которой принадлежат эти столбцы. Если это не то, что вам нужно, возможно, пара скриншотов с вашим реальным Gridview и желаемый результат будет идеальным.
Удачи!