C#中DataGrid导出Excel文件

        private void btnExport_Click(object sender, RoutedEventArgs e)
        {
            System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
            sw.Start();
            grid.SelectAllCells();
            grid.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader;
            ApplicationCommands.Copy.Execute(null, grid);
            string result = (string)Clipboard.GetData(DataFormats.Text);
            SaveFileDialog sfd = new SaveFileDialog();
            string dtNow = DateTime.Now.ToString("yyyyMMddHHmmssffff");
            sfd.FileName = dtNow + "导出到Excel";
            sfd.Filter = "Excel文件(*.xls)|*.xls|Csc文件(*.csv)|*.csv|所有文件(*.*)|*.*";
            if (sfd.ShowDialog() == true)
            {
                string path = System.IO.Path.GetDirectoryName(sfd.FileName);
                grid.UnselectAllCells();
                StreamWriter swr = new StreamWriter(sfd.FileName);
                swr.WriteLine(result.Replace(',', ' '));
                swr.Close();
                sw.Stop();
                string timeSpan = sw.ElapsedMilliseconds.ToString();
                long num = grid.Items.Count;
                MessageBox.Show("共有" + num + "条数据!\n" + "导出到" + path + "!\n" + "共耗时" + timeSpan + "毫秒!\n");
            }
        }

 

posted @ 2024-03-25 11:23  無海  阅读(2)  评论(0编辑  收藏  举报