2013-07-05 34 views
2

我一直在尋找c#教程來刷新excel文件,而無需打開excel並單擊刷新按鈕。我找到了解決方案,而且非常簡單。我想分享刷新excel文件,從c#獲取其數據從sql服務器#

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"); 
    } 

回答

1

爲什麼不告訴excel在文件打開時進行刷新? Data-> Connections然後選中「打開文件時刷新數據」

更簡單的解決方案。