C# 使用c刷新从sql server获取数据的excel文件#

C# 使用c刷新从sql server获取数据的excel文件#,c#,sql-server,excel,excel-interop,C#,Sql Server,Excel,Excel Interop,我一直在搜索c#的教程,以便在不打开excel并单击刷新按钮的情况下刷新excel文件。我找到了解决办法,而且很简单。我想和大家分享 private void ExcelRefresh(string Filename) { try { object NullValue = System.Reflection.Missing.Value; Microsoft.Office.Interop.Excel.Appli

我一直在搜索c#的教程,以便在不打开excel并单击刷新按钮的情况下刷新excel文件。我找到了解决办法,而且很简单。我想和大家分享

private void ExcelRefresh(string Filename)
    {
        try
        {
            object NullValue = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
            //excelApp.DisplayAlerts = false;
            Microsoft.Office.Interop.Excel.Workbook Workbook = excelApp.Workbooks.Open(
               Filename, NullValue, NullValue, NullValue, NullValue,
               NullValue, NullValue, NullValue, NullValue, NullValue,
               NullValue, NullValue, NullValue, NullValue, NullValue);
            Workbook.RefreshAll();
            System.Threading.Thread.Sleep(20000);

            Workbook.Save();
            Workbook.Close(false, Filename, null);
            excelApp.Quit();
            Workbook = null;
            System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
        }
        catch(Exception ex){
            MessageBox.Show(ex.Message);
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        ExcelRefresh(@"D:\test.xlsx");
    }

为什么不让excel在文件打开时进行刷新呢? 数据->连接,然后选中“打开文件时刷新数据”

更简单的解决方案