搜索
bottom↓
回复: 4

请教吧C#创建EXCEL创建程序改为添加程序

[复制链接]

出0入98汤圆

发表于 2017-7-25 09:13:32 | 显示全部楼层 |阅读模式
///DataGridView数据显示到Excel     
        /// <summary>      
        /// 打开Excel并将DataGridView控件中数据导出到Excel     
        /// </summary>      
        /// <param name="dgv">DataGridView对象 </param>      
        /// <param name="isShowExcle">是否显示Excel界面 </param>      
        /// <remarks>     
        /// add com "Microsoft Excel 11.0 Object Library"     
        /// using Excel=Microsoft.Office.Interop.Excel;     
        /// </remarks>     
        /// <returns> </returns>      
        public bool DataGridviewShowToExcel1(DataGridView dgv, bool isShowExcle)
        {
            if (dgv.Rows.Count == 0)
                return false;
            //建立Excel对象      
            Excel.Application excel = new Excel.Application();
            excel.Application.Workbooks.Add(true);
            excel.Visible = isShowExcle;
            try
            {
                //生成字段名称      
                Excel.Workbook wBook = excel.Workbooks.Add(true);
                Excel.Worksheet wSheet = wBook.Worksheets[1] as Excel.Worksheet;
                for (int i = 0; i < dgv.ColumnCount; i++)
                {
                    excel.Cells[1, i + 1] = dgv.Columns.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))
                        {
                            excel.Cells[i  + 2, j + 1] = "'" + dgv[j, i].Value.ToString();
                        }
                        else
                        {
                            excel.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString();
                        }
                    }
                }
                excel.DisplayAlerts = false;
                excel.AlertBeforeOverwriting = false;
                //保存excel文件
                wSheet.SaveAs("E:" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                wBook.Save();
            }

            catch { }
            finally
            {
                //确保Excel进程关闭  
                excel.Quit();
                excel = null;
            }

            return true;
        }


以上这个程序能很好的创建EXCEL文件,我想的是创建文件名为yyyyMMdd,然后自动判断是否已经生成改天的文件,如果有,自动打开并添加,如果没有,创建新的。
本人初学C#,以上程序也是半抄半改来的,不好之处,请批评指正

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2017-7-25 10:03:24 | 显示全部楼层
初学C#不要紧,关键是不能像初学语文,标题正文别字一片,尤其是标题 ,完全不通,搞不清啥意思。

出0入0汤圆

发表于 2017-7-25 17:46:19 | 显示全部楼层
https://npoi.codeplex.com/ npoi一个比较好的office操作组件.创建,修改,删除都搞定.

出0入0汤圆

发表于 2017-7-25 23:21:22 | 显示全部楼层
winfisher 发表于 2017-7-25 17:46
https://npoi.codeplex.com/ npoi一个比较好的office操作组件.创建,修改,删除都搞定.

这个是个好东西,没装offic 的电脑上都可以用

出0入0汤圆

发表于 2017-8-7 11:53:56 | 显示全部楼层
winfisher 发表于 2017-7-25 17:46
https://npoi.codeplex.com/ npoi一个比较好的office操作组件.创建,修改,删除都搞定.

不知导出速度怎么样,正在试
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-15 00:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表