C#導出Excel設置單元格樣式


C# 導出Excel

 1 //導出Excel
 2         private void ExportExcel(string fileName, System.Data.DataTable myDGV, string title)
 3         {
 4             string saveFileName = "";
 5             System.Windows.Forms.SaveFileDialog saveDialog = new System.Windows.Forms.SaveFileDialog();
 6             saveDialog.DefaultExt = "xlsx";
 7             saveDialog.Filter = "Excel文件|*.xlsx";
 8             saveDialog.FileName = fileName;
 9             saveDialog.ShowDialog();
10             saveFileName = saveDialog.FileName;
11             if (saveFileName.IndexOf(":") < 0) return; //被點了取消
12             Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
13             if (xlApp == null)
14             {
15                 System.Windows.MessageBox.Show("無法創建Excel對象,可能您的電腦未安裝Excel");
16                 return;
17             }
18             Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
19             Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
20             Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
21 
22             //操作單元格
23             Range rangeLecture = worksheet.Range[worksheet.Cells[1, 1], worksheet.Cells[1, myDGV.Columns.Count]];
24             rangeLecture.Application.DisplayAlerts = false;
25             rangeLecture.Merge(Missing.Value);
26             rangeLecture.Application.DisplayAlerts = true;
27             worksheet.Cells[1, 1] = title;
28            
29 
30             //寫入標題
31             for (int i = 0; i < myDGV.Columns.Count; i++)
32             {
33                 worksheet.Cells[2, i + 1] = myDGV.Columns[i].ColumnName;
34             }
35             //寫入數值
36             for (int r = 0; r < myDGV.Rows.Count; r++)
37             {
38                 for (int i = 0; i < myDGV.Columns.Count; i++)
39                 {
40                     worksheet.Cells[r + 3, i + 1] = myDGV.Rows[r][i].ToString();
41                 }
42                 System.Windows.Forms.Application.DoEvents();
43             }
44             worksheet.Columns.EntireColumn.AutoFit();//列寬自適應
45             if (saveFileName != "")
46             {
47                 try
48                 {
49                     workbook.Saved = true;
50                     workbook.SaveCopyAs(saveFileName);
51                 }
52                 catch (Exception ex)
53                 {
54                     System.Windows.MessageBox.Show("導出文件時出錯,文件可能正被打開!\n" + ex.Message);
55                 }
56             }
57             xlApp.Quit();
58             GC.Collect();//強行銷毀
59             //System.Windows.Forms.MessageBox.Show("文件保存成功", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
60         }

本文鏈接:https://blog.csdn.net/weixin_43343835/article/details/90713294


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM