winfrom导出DataGridView为Excel方法
生活随笔
收集整理的這篇文章主要介紹了
winfrom导出DataGridView为Excel方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
聲明:此方法需要電腦安裝Excel軟件
需要類庫:Microsoft.Office.Interop.Excel.dll 可百度自行下載
方法代碼:
/// <summary>/// 導出exc/// </summary>/// <param name="dataGridView"></param>/// <param name="name">文件名字</param>public static void Import(DataGridView dataGridView,string name){string fileName = name;string saveFileName = "";SaveFileDialog saveDialog = new SaveFileDialog();saveDialog.DefaultExt = "xlsx";saveDialog.Filter = "Excel文件|*.xlsx";saveDialog.FileName = fileName;var alert= saveDialog.ShowDialog();if (alert!=DialogResult.OK){return;}saveFileName = saveDialog.FileName;Microsoft.Office.Interop.Excel.Application xlApp =new Microsoft.Office.Interop.Excel.Application();if (xlApp == null){MessageBox.Show("無法創建Excel對象,您的電腦可能未安裝Excel");return;}Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;Microsoft.Office.Interop.Excel.Workbook workbook =workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);Microsoft.Office.Interop.Excel.Worksheet worksheet =(Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1 //寫入標題 for (int i = 0; i < dataGridView.ColumnCount; i++){ worksheet.Cells[1, i + 1] = dataGridView.Columns[i].HeaderText; }//寫入數值for (int r = 0; r < dataGridView.Rows.Count; r++){for (int i = 0; i < dataGridView.ColumnCount; i++){worksheet.Cells[r + 2, i + 1] = dataGridView.Rows[r].Cells[i].Value;}System.Windows.Forms.Application.DoEvents();}worksheet.Columns.EntireColumn.AutoFit();//列寬自適應MessageBox.Show("導出成功", "提示", MessageBoxButtons.OK);if (saveFileName != ""){try{workbook.Saved = true;workbook.SaveCopyAs(saveFileName); //fileSaved = true; }catch (Exception ex){MessageBox.Show("導出文件時出錯,文件可能正被打開!\n" + ex.Message);}}xlApp.Quit();GC.Collect();//強行銷毀 }?
轉載于:https://www.cnblogs.com/Angel-szl/p/10525028.html
總結
以上是生活随笔為你收集整理的winfrom导出DataGridView为Excel方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】为了修复打码女神脸,他们提出二阶段
- 下一篇: LeetCode算法