• 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();
                }
            }

  • 相关阅读:
    Maven项目中遇到的奇葩问题(续)
    Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有
    【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)
    【SSH 基础】浅谈Hibernate--入门篇
    html代码规范
    sublime text3 --前端工程师必备
    搜索类网站记录 && 代理服务器
    前端必备:FastStoneCapture 和 Licecap &&& mingw c++ 编译执行
    关于交大二手市场的一点思考
    前端开发工程师相关书籍
  • 原文地址:https://www.cnblogs.com/heavyhe/p/4547320.html
Copyright © 2020-2023  润新知