| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 595 人关注过本帖
标题:从DataGridView中导出数据至Excel
只看楼主 加入收藏
sonnyz
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-2-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
从DataGridView中导出数据至Excel
ImportDataFromDGVToExcel.rar (42.75 KB)
搜索更多相关主题的帖子: Excel 
2012-02-15 09:50
smart0721
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:106
专家分:468
注 册:2012-2-10
收藏
得分:20 
  
程序代码:
public bool ExportDataGridView(DataGridView dgv,bool isShowExcel)
        {
            SaveFileDialog dlg = new SaveFileDialog();//定义SaveFileDialog各属性
            dlg.Filter = "Execl files (*.xls)|*.xls";
            dlg.CheckFileExists = false;
            dlg.CheckPathExists = false;
            dlg.FilterIndex = 0;
            dlg.RestoreDirectory = true;
            dlg.CreatePrompt = true;
            dlg.Title = "保存为Excel文件";
            if (dgv.Rows.Count == 0)
                return false;
            else
            {
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                Stream myStream;                               //利用文件流来打开Excel文件
                myStream = dlg.OpenFile();
                StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
                Excel.Application xlApp=new Excel.Application();
                object missing=System.Reflection.Missing.Value;
                Excel.Workbooks workbooks=xlApp.Workbooks;
                Excel.Workbook workbook=workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
                Excel.Worksheet worksheet=(Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
                xlApp.Visible = isShowExcel;
                        for (int i = 0; i < dgv.ColumnCount; i++)
                        {
                            xlApp.Cells[1, i + 1] = dgv.Columns[i].HeaderText;
                        }
                        for (int i = 0; i < dgv.RowCount - 1; i++)
                        {
                            for (int j = 0; j < dgv.ColumnCount; j++)
                            {
                                if (dgv[j, i].ValueType == typeof(string))
                                {
                                    xlApp.Cells[i + 2, j + 1] = "'" + dgv[j, i].Value.ToString();

                                }
                                else
                                {
                                    xlApp.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString();
                                }
                            }

                        }
                        return true;
                    }
                    else
                    {
                        return false;
                    }

            }

   
              
        }     
2012-02-15 17:27
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
这个必须顶!LZ还要加上关闭Excel的代码!

[ 本帖最后由 qq1023569223 于 2012-2-15 23:21 编辑 ]

   唯实惟新 至诚致志
2012-02-15 23:20
kingcwade201
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-2-10
收藏
得分:0 
  帅呆了!
2012-02-17 16:57
asad
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2019-12-6
收藏
得分:0 
谢谢,这是我需要的
2022-01-08 13:50
快速回复:从DataGridView中导出数据至Excel
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044246 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved