在窗体中把DataGridView中的数据导出Excel

时间:2021-12-24 02:47:42

//DataGridView导出Excel
        private void bt_Excl_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.Filter = "Microsoft Excel 事情表 (.xls)|*.xls";
            saveFileDialog.FilterIndex = 0;
            saveFileDialog.RestoreDirectory = true;
            saveFileDialog.CreatePrompt = true;
            saveFileDialog.Title = "导出Excel文件到";
            DateTime now = DateTime.Now;
            saveFileDialog.FileName = now.Year.ToString().PadLeft(2) + now.Month.ToString().PadLeft(2, ‘0‘) + now.Day.ToString().PadLeft(2, ‘0‘) + "-" + now.Hour.ToString().PadLeft(2, ‘0‘) + now.Minute.ToString().PadLeft(2, ‘0‘) + now.Second.ToString().PadLeft(2, ‘0‘);
            saveFileDialog.ShowDialog();
            Stream myStream;
            myStream = saveFileDialog.OpenFile();
            StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
            string str = "";
            try
            {
                //写标题
                for (int i = 0; i < dataTitl.ColumnCount; i++)
                {
                    if (i > 0)
                    {
                        str += "\t";
                    }
                    str += dataTitl.Columns[i].HeaderText;
                }
                sw.WriteLine(str);
                //写内容
                for (int j = 0; j < dataTitl.Rows.Count; j++)
                {
                    string tempStr = "";
                    for (int k = 0; k < dataTitl.Columns.Count; k++)
                    {
                        if (k > 0)
                        {
                            tempStr += "\t";
                        }
                        tempStr += dataTitl.Rows[j].Cells[k].Value.ToString();
                    }
                    sw.WriteLine(tempStr);
                }
                sw.Close();
                myStream.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("标题问题导出完成。", "导出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            finally
            {
                sw.Close();
                myStream.Close();
            }
        }

在窗体中把DataGridView中的数据导出Excel

标签:

原文地点:https://www.cnblogs.com/Mo-Maek/p/8932391.html