zoukankan      html  css  js  c++  java
  • DataGridView导出成excel实例

    public void ExportExcel(object Sender, EventArgs e)
            {
                DataGridView dt = this.dataGridView1;
                if (dt.Rows.Count == 0)
                {
                    MessageBox.Show("没有数据可供导出,请先抓去数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                else
                {
                    SaveFileDialog saveFileDialog2 = new SaveFileDialog();
                    saveFileDialog2.Filter = "Execl2003 files (*.xls)|*.xls|Execl2007 files (*.xlsx)|*.xlsx";
                    saveFileDialog2.FilterIndex = 0;
                    saveFileDialog2.RestoreDirectory = true;
                    saveFileDialog2.CreatePrompt = true;
                    saveFileDialog2.Title = "导出文件保存路径";
                    saveFileDialog2.FileName = null;
                    saveFileDialog2.ShowDialog();
                    string FileName = saveFileDialog2.FileName;

                    if (FileName.Length != 0)
                    {
                        //toolStripProgressBar1.Visible = true;


                        FileStream objFileStream;
                        StreamWriter objStreamWriter;
                        string strLine = "";
                        objFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write,FileShare.ReadWrite);
                        objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode);
                        //toolStripProgressBar1.Value = 0;

                        for (int i = 0; i < dt.Columns.Count; i++)
                        {
                            strLine = strLine + dt.Columns[i].HeaderText.ToString() + Convert.ToChar(9);

                        }
                        objStreamWriter.WriteLine(strLine);
                        strLine = "";

                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            //strLine = strLine + (i + 1) + Convert.ToChar(9);
                            for (int j = 0; j < dt.Columns.Count; j++)
                            {
                                strLine = strLine + ((dt.Rows[i].Cells[j].Value == null) ? " " : dt.Rows[i].Cells[j].Value.ToString()) + Convert.ToChar(9);

                            }
                            objStreamWriter.WriteLine(strLine);
                            //toolStripProgressBar1.Value += 100 / dt.Rows.Count;
                            strLine = "";
                        }
                        objStreamWriter.Close();
                        objFileStream.Close();
                        MessageBox.Show("数据已经成功导出到:" + saveFileDialog2.FileName.ToString(), "导出完成", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        //toolStripProgressBar1.Value = 0;
                        //toolStripProgressBar1.Visible = false;
                    }
                }

           
            }

  • 相关阅读:
    Java 零基础跑起第一个程序
    Xcode6 引入第三方静态库project的方法
    Cocos2d-x3.0 RenderTexture(三)
    POJ 题目3461 Oulipo(KMP)
    unity3D游戏开发实战原创视频讲座系列9之塔防类游戏开发第一季
    android 虚拟按键是通过哪种机制上报的?
    深入理解 C 指针阅读笔记 -- 第五章
    【1】按照Django官网,编写一个web app 创建project/配置数据库
    [Swift]LeetCode442. 数组中重复的数据 | Find All Duplicates in an Array
    [Swift]LeetCode441. 排列硬币 | Arranging Coins
  • 原文地址:https://www.cnblogs.com/lijinchang/p/2150511.html
Copyright © 2011-2022 走看看