C#:将数据网格内的数据导出到Excel

public void ExportDataToExecel(DataGridView  dataGridView1)

{

    SaveFileDialog kk = new SaveFileDialog();

            kk.Title = "保存EXECL文件";

            kk.Filter = "EXECL文件(*.xls) |*.xls |所有文件(*.*) |*.*";

            kk.FilterIndex = 1;

            if (kk.ShowDialog() == DialogResult.OK)

            {

                string FileName = kk.FileName.Trim();

                if (File.Exists(FileName))

                    File.Delete(FileName);

                System.IO.FileStream objFileStream;

                StreamWriter objStreamWriter;

                string strLine = "";

                objFileStream = new System.IO.FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write);

                objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode);

                for (int i = 0; i < dataGridView1.Columns.Count; i++)

                {

                    if (dataGridView1.Columns[i].Visible == true)

                    {

                        strLine = strLine + dataGridView1.Columns[i].HeaderText.ToString() + Convert.ToChar(9);

                    }

                }

                objStreamWriter.WriteLine(strLine);

                strLine = "";



                for (int i = 0; i < dataGridView1.Rows.Count; i++)

                {

                    if (dataGridView1.Columns[0].Visible == true)

                    {

                        if (dataGridView1.Rows[i].Cells[0].Value == null)

                            strLine = strLine + " " + Convert.ToChar(9);

                        else

                            strLine = strLine + dataGridView1.Rows[i].Cells[0].Value.ToString() + Convert.ToChar(9);

                    }

                    for (int j = 1; j < dataGridView1.Columns.Count; j++)

                    {

                        if (dataGridView1.Columns[j].Visible == true)

                        {

                            if (dataGridView1.Rows[i].Cells[j].Value == null)

                                strLine = strLine + " " + Convert.ToChar(9);

                            else

                            {

                                string rowstr = "";

                                rowstr = dataGridView1.Rows[i].Cells[j].Value.ToString();

                                if (rowstr.IndexOf("\r\n") > 0)

                                    rowstr = rowstr.Replace("\r\n", " ");

                                if (rowstr.IndexOf("\t") > 0)

                                    rowstr = rowstr.Replace("\t", " ");

                                strLine = strLine + rowstr + Convert.ToChar(9);

                            }

                        }

                    }

                    objStreamWriter.WriteLine(strLine);

                    strLine = "";

                }

                objStreamWriter.Close();

                objFileStream.Close();

                MessageBox.Show(this, "保存EXCEL成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }



        }

 

你可能感兴趣的:(Excel)