C#winform中datagridview匯出Excel

來源:互聯網
上載者:User

標籤:

只需要傳入datagridview的name即可。

 1 //匯出Excel()方法 2         public void ToExcel(DataGridView dataGridView) 3         { 4             //執行個體化一個Excel.Application對象   5             Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); 6  7             if (excel == null) 8             { 9                 UMessageBoxWarning("無法建立Excel對象,可能您的電腦未安裝Excel!");10                 return;11             }12             try13             {14                 //沒有資料的話就不往下執行  15                 if (dataGridView.Rows.Count == 0)16                     return;17 18                 //讓後台執行設定為不可見,為true的話會看到開啟一個Excel,然後資料在往裡寫  19                 excel.Visible = true;20 21                 //新增加一個活頁簿,Workbook是直接儲存,不會彈出儲存對話方塊,加上Application會彈出儲存對話方塊,值為false會報錯  22                 excel.Application.Workbooks.Add(true);23                 //產生Excel中列頭名稱  24                 for (int i = 0; i < dataGridView.Columns.Count; i++)25                 {26                     if (dataGridView.Columns[i].Visible == true)27                     {28                         excel.Cells[1, i + 1] = dataGridView.Columns[i].HeaderText;29                     }30 31                 }32                 //把DataGridView當前頁的資料儲存在Excel中  33                 for (int i = 0; i < dataGridView.Rows.Count - 1; i++)34                 {35                     Application.DoEvents();36                     for (int j = 0; j < dataGridView.Columns.Count; j++)37                     {38                         if (dataGridView.Columns[j].Visible == true)39                         {40                             if (dataGridView[j, i].ValueType == typeof(string))41                             {42                                 excel.Cells[i + 2, j + 1] = "‘" + dataGridView[j, i].Value.ToString();43                             }44                             else45                             {46                                 excel.Cells[i + 2, j + 1] = dataGridView[j, i].Value.ToString();47                             }48                         }49 50                     }51                 }52                 //設定禁止彈出儲存和覆蓋的詢問提示框  53                 //...54                 //確保Excel進程關閉  55                 excel.Quit();56                 excel = null;57                 GC.Collect();//如果不使用這條語句會導致excel進程無法正常退出,使用後正常退出58                 UMessageBoxNone("檔案已經成功匯出!");59             }60             catch (Exception ex)61             {62                 MessageBox.Show(ex.Message);63             }64 65         }

 

C#winform中datagridview匯出Excel

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.