zoukankan      html  css  js  c++  java
  • C# DataGridView导出到Excel

     

           private void ExportToExcel(DataGridView dgvGF_IN_INFO)
            {
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
                saveFileDialog.FilterIndex = 0;
                saveFileDialog.RestoreDirectory = true;
                saveFileDialog.CreatePrompt = true;
                saveFileDialog.Title = "保存为Excel文件";
                saveFileDialog.ShowDialog();

                if (saveFileDialog.FileName.IndexOf(":") < 0) return; //被点了"取消"

                Stream myStream;
                myStream = saveFileDialog.OpenFile();
                StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
                string columnTitle = "";
                try
                {
                    //写入列标题
                    for (int i = 0; i < dgvGF_IN_INFO.ColumnCount; i++)
                    {
                        if (dgvGF_IN_INFO.Columns[i].Visible)
                        {
                            if (i > 0)
                            {
                                columnTitle += "\t";
                            }

                            columnTitle += dgvGF_IN_INFO.Columns[i].HeaderText;
                        }
                    }
                    sw.WriteLine(columnTitle);

                    //写入列内容
                    for (int j = 0; j < dgvGF_IN_INFO.Rows.Count; j++)
                    {
                        string columnValue = "";
                        for (int k = 0; k < dgvGF_IN_INFO.Columns.Count; k++)
                        {
                            if (dgvGF_IN_INFO.Rows[j].Cells[k].Visible)
                            {
                                if (k > 0)
                                {
                                    columnValue += "\t";
                                }
                          
                                if (dgvGF_IN_INFO.Rows[j].Cells[k].Value == null)
                                    columnValue += "";
                                else
                                    columnValue += dgvGF_IN_INFO.Rows[j].Cells[k].Value.ToString().Trim();
                            }
                        }
                        sw.WriteLine(columnValue);
                    }
                    sw.Close();
                    myStream.Close();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.ToString());
                }
                finally
                {
                    sw.Close();
                    myStream.Close();
                }
            }

  • 相关阅读:
    [置顶] 深入理解android之IPC机制与Binder框架
    cdn加速对门户网站产生的影响
    极客技术专题【007期】:jQuery初学者入门
    linux 下信号处理命令trap && linux下各种信号的意义
    利用ACE 自己实现的线程池
    漫谈开发前奏之编译器
    jar,war,ear区别及java基础杂七八
    java出现no XXX in java.library.path的解决办法及eclipse配置
    Windows下GNU之gcc体验方法
    防asp木马运行
  • 原文地址:https://www.cnblogs.com/heavyhe/p/4547320.html
Copyright © 2011-2022 走看看