c#中如何将dgv中的数据导出


在c#中如何将dataGridView中的数据导出,可以写出以下代码直接调用
View Code
1 /// <summary>
2 /// 将 DataGridView的数据导出Excel
3 /// </summary>
4 /// <remarks>
5 /// using System.IO;
6 /// </remarks>
7 /// <param name="dgv"></param>
8 public static void DataGridViewToExcel(bxyztSkin.Editors.CDataGridView dgv)
9 {
10 SaveFileDialog dlg = new SaveFileDialog();
11 dlg.Filter = "Execl files (*.xls)|*.xls";
12 dlg.CheckFileExists = false;
13 dlg.CheckPathExists = false;
14 dlg.FilterIndex = 0;
15 dlg.RestoreDirectory = true;
16 dlg.CreatePrompt = true;
17 dlg.Title = "保存为Excel文件";
18 dlg.FileName = DateTime.Now.Ticks.ToString().Trim();
19
20 if (dlg.ShowDialog() == DialogResult.OK)
21 {
22 Stream myStream;
23 myStream = dlg.OpenFile();
24 StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
25 string columnTitle = "";
26 try
27 {
28 //写入列标题
29 for (int i = 0; i < dgv.ColumnCount; i++)
30 {
31 if (i > 0)
32 {
33 columnTitle += "\t";
34 }
35 columnTitle += dgv.Columns[i].HeaderText;
36 }
37 sw.WriteLine(columnTitle);
38
39 //写入列内容
40 for (int j = 0; j < dgv.Rows.Count; j++)
41 {
42 string columnValue = "";
43 for (int k = 0; k < dgv.Columns.Count; k++)
44 {
45 if (k > 0)
46 {
47 columnValue += "\t";
48 }
49 if (dgv.Rows[j].Cells[k].Value == null)
50 columnValue += "";
51 else
52 columnValue += dgv.Rows[j].Cells[k].Value.ToString().Trim();
53 }
54 sw.WriteLine(columnValue);
55 }
56 sw.Close();
57 myStream.Close();
58 }
59 catch (Exception e)
60 {
61 MessageBox.Show(e.ToString());
62 }
63 finally
64 {
65 sw.Close();
66 myStream.Close();
67 }
68 }
69 }
原文地址:https://www.cnblogs.com/wsl2011/p/2046117.html