DataGridView直接导出EXCEL

 

[

]

[转]http://www.cnblogs.com/xiaotan68/archive/2009/03/16/1114796.html

 

Code

1.直接将DataGridView显示的内容导出Excel

2.用DataGridView绑定的DataTable为参数,导出Excel

1public void DataToExcel(DataTable m_DataTable)
 2        {
 3            SaveFileDialog kk = new SaveFileDialog();
 4            kk.Title = "保存EXECL文件";
 5            kk.Filter = "EXECL文件(*.xls) |*.xls |所有文件(*.*) |*.*";
 6            kk.FilterIndex = 1;
 7            if (kk.ShowDialog() == DialogResult.OK)
 8            {
 9                string FileName = kk.FileName + ".xls";
10                if (File.Exists(FileName))
11                    File.Delete(FileName);
12                FileStream objFileStream;
13                StreamWriter objStreamWriter;
14                string strLine = "";
15                objFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write);
16                objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode);
17                for (int i = 0; i < m_DataTable.Columns.Count; i++)
18                {
19                    strLine = strLine + m_DataTable.Columns[i].Caption.ToString() + Convert.ToChar(9);
20                }

21                objStreamWriter.WriteLine(strLine);
22                strLine = "";
23
24                for (int i = 0; i < m_DataTable.Rows.Count; i++)
25                {
26                    for (int j = 0; j < m_DataTable.Columns.Count; j++)
27                    {
28                        if (m_DataTable.Rows[i].ItemArray[j] == null)
29                            strLine = strLine + " " + Convert.ToChar(9);
30                        else
31                        {
32                            string rowstr = "";
33                            rowstr = m_DataTable.Rows[i].ItemArray[j].ToString();
34                            if (rowstr.IndexOf("\r\n"> 0)
35                                rowstr = rowstr.Replace("\r\n"" ");
36                            if (rowstr.IndexOf("\t"> 0)
37                                rowstr = rowstr.Replace("\t"" ");
38                            strLine = strLine + rowstr + Convert.ToChar(9);
39                        }

40                    }

41                    objStreamWriter.WriteLine(strLine);
42                    strLine = "";
43                }

44                objStreamWriter.Close();
45                objFileStream.Close();
46                MessageBox.Show(this"保存EXCEL成功""提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
47            }

48        }

你可能感兴趣的:(datagridview)