惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
博客园_首页
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
D
Docker
博客园 - 司徒正美
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
U
Unit 42
J
Java Code Geeks
A
About on SuperTechFans
N
Netflix TechBlog - Medium
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security Affairs
I
Intezer
Cisco Talos Blog
Cisco Talos Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog RSS Feed
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
T
Threatpost
H
Hacker News: Front Page
G
Google Developers Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
L
Lohrmann on Cybersecurity
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
S
Secure Thoughts
GbyAI
GbyAI
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Webroot Blog
Webroot Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
O
OpenAI News
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog

博客园 - 追逐苦痛

20230425001 - DataGridView绑定了数据之后, 再添加CheckBox列的解决方案 20230424001 - 打开文件对话框OpenFileDialog类 20200812001 - SQL openquery 传参数 ASP.net用Graphics实现的统计图(折线图、柱状图、饼图) 20190917002 - SQL 中处理交叉重复条件参考 20190917001 - 去除DataTable中重复的数据 20190410001 - 遍历控件参考 20180709001 - 委托传值 20180706001 - 动态添加 tabPage 20180519001 - DataTable Group by功能参考 20161020001 DataGridView 选中的 DataGridViewCheckBoxCell 不添加重复项 20161014006 DataGridView Combobox 数据绑定与传值 20161014001 DataGridView 单元格内容 自动计算 20161013001 DataGridView 数据转 DataTable 20161011001 treeView 递归 20160929001 Guid生成 20160815001 - 修改字段的长度 20160715001 - 分发与订阅 总结 20160712001 SQL server R2 更名
20230509001 - DataTable 导出成Excel
追逐苦痛 · 2023-05-09 · via 博客园 - 追逐苦痛

        private void Btn_Export_Click(object sender, EventArgs e)
        {
            if (dt == null)
            {
                MessageBox.Show(" 数据为空,不能导出,  "
                                           + "\r\n 导出已经终止。", "提示:导出失败", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (dt.Rows.Count > 0)
            {
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
                saveFileDialog.FilterIndex = 0;
                saveFileDialog.RestoreDirectory = true;
                saveFileDialog.CreatePrompt = true;
                saveFileDialog.Title = "保存为Excel文件";
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    //DataTable dt_e = dt.Copy();
                    DataTable dt_e = GetDgvToTable(dgv_M);

                    // 写入Excel表
                    string columnTitle = "";
                    Stream stream = saveFileDialog.OpenFile();
                    StreamWriter sw = new StreamWriter(stream, System.Text.Encoding.GetEncoding(-0));

                    for (int i = 0; i < dt_e.Columns.Count; i++)
                    {
                        if (i > 0)
                        {
                            columnTitle += "\t";//或者为逗号
                        }

                        columnTitle += dt_e.Columns[i].Caption.ToString();//写入列标题
                        //columnTitle += dt_e.Columns[i].HeaderText;//写入列标题
                        //if (i < 22)
                        //{
                        //    columnTitle += dt_e.Columns[i].Caption.ToString();//写入列标题
                        //}
                    }
                    sw.WriteLine(columnTitle);
                    for (int j = 0; j < dt_e.Rows.Count; j++)
                    {
                        string columnValue = "";
                        for (int k = 0; k < dt_e.Columns.Count; k++)
                        {
                            if (k > 0)
                            {
                                columnValue += "\t";
                            }
                            //columnValue += dt_e.Rows[j].Cells[k].Value.ToString();
                            columnValue += dt_e.Rows[j][k].ToString();
                        }
                        sw.WriteLine(columnValue);
                    }
                    sw.Close();
                    stream.Close();
                }

                MessageBox.Show(" Excel表导出完成,"
                            + "\r\n 您可以选择您刚才导出的文件打开导出内容。", "提示:导出成功", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            else
            {
                MessageBox.Show(" 导出的数据为空,不能导成Excel表,  "
                                            + "\r\n 导出已经终止。", "提示:导出失败", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        protected DataTable GetDgvToTable(DataGridView dgv)
        {
            DataTable dt = new DataTable();
            for (int count = 0; count < dgv.Columns.Count; count++)
            {
                DataColumn dc = new DataColumn(dgv.Columns[count].Name.ToString());
                dt.Columns.Add(dc);
            }
            for (int count = 0; count < dgv.Rows.Count; count++)
            {
                DataRow dr = dt.NewRow();
                for (int countsub = 0; countsub < dgv.Columns.Count; countsub++)
                {
                    dr[countsub] = Convert.ToString(dgv.Rows[count].Cells[countsub].Value);
                }
                dt.Rows.Add(dr);
            }
            return dt;
        }