C#: 데이터 격자 내의 데이터를 Excel로 내보내기

3223 단어 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
") > 0) rowstr = rowstr.Replace("\r
", " "); 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); } }

좋은 웹페이지 즐겨찾기