温馨提示×

C# 点击导出按钮GridView导出到Excel时不弹出打开或保存对

小亿
85
2023-12-20 14:42:12
栏目: 编程语言

要在C#中实现点击导出按钮GridView导出到Excel时不弹出打开或保存对话框,可以使用以下步骤:
1. 添加对`Microsoft.Office.Interop.Excel`和`System.Reflection`的引用。
2. 在按钮的点击事件处理程序中编写导出逻辑。

private void ExportToExcel_Click(object sender, EventArgs e)
{

    // 创建Excel对象

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.

    Application();

    Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Type.Missing);

    Microsoft.Office.Interop.Excel.Worksheet worksheet = null;

    try

    {

        // 设置工作表

        worksheet = workbook.ActiveSheet;

        // 填充数据到工作表

        for (int i = 0; i < gridView.Rows.Count; i++)

        {

            for (int j = 0; j < gridView.Columns.Count; j++)

            {

                worksheet.Cells[i + 1, j + 1] = gridView.Rows[i].Cells[j].Value.ToString();

            }

        }

        // 保存Excel文件

        workbook.SaveAs(“YourFilePath.xlsx”, Microsoft.Office.Interop.Excel.XlFileFormat.

        xlOpenXMLWorkbook, Type.Missing, Type.Missing, false, false, Microsoft.Office.Interop.Excel.

        XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 

        Type.Missing);

        workbook.Close();

        excel.Quit();

        // 释放资源

        System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);

        System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);

        System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);

        MessageBox.Show(“导出成功!”);

    }

    catch (Exception ex)

    {

        MessageBox.Show(“导出失败:” + ex.Message);

    }

    finally

    {

        // 释放Excel进程

        worksheet = null;

        workbook = null;

        excel = null;

        GC.Collect();

    } }

请注意,这种方法将直接保存Excel文件到指定路径,而不会弹出打开或保存对话框。确保将"YourFilePath.xlsx"替换为您要保存的实际文件路径。

0