グリッドビューデータのエクスポート時にフィルタリングを削除する方法

エクスポート前に GridView のフィルター機能を削除することで、GridView からエクスポートされる Excel ファイルのフィルターを解除できます。

まず、ASPXページのGridViewコントロールでAllowFilteringByColumn=”false”を設定する必要があります。これによりGridViewのフィルタリング機能が無効になります。

<asp:GridView ID="GridView1" runat="server" AllowFilteringByColumn="false">
    <!-- GridView 的列定义 -->
</asp:GridView>

グリッドビューのデータソース(例えば DataTable)を利用してコードでExcelを出力する場合、グリッドビューのフィルター機能が無効化されているため、出力されたExcelファイルにはフィルターは含まれません。

protected void ExportToExcel()
{
    // 获取 GridView 的数据源
    DataTable dt = (DataTable)GridView1.DataSource;

    // 创建 Excel 对象
    ExcelPackage excel = new ExcelPackage();
    var worksheet = excel.Workbook.Worksheets.Add("Sheet1");

    // 将 GridView 的数据导出到 Excel 中
    int rowIndex = 1;
    foreach (DataRow row in dt.Rows)
    {
        int colIndex = 1;
        foreach (var cellValue in row.ItemArray)
        {
            worksheet.Cells[rowIndex, colIndex].Value = cellValue;
            colIndex++;
        }
        rowIndex++;
    }

    // 导出 Excel 文件
    Response.Clear();
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    Response.AddHeader("content-disposition", "attachment; filename=ExcelFileName.xlsx");
    Response.BinaryWrite(excel.GetAsByteArray());
    Response.End();
}

ExcelFileName.xlsx は出力する Excel ファイル名で、必要に応じて変更できます。

bannerAds