//导出Excel
        private void btnExc_Click(object sender, EventArgs e)
        {
            string filename = "成绩查询数据--" + DateTime.Now.ToString("yyMMddhhmmss");
            string saveFileName = "";
            SaveFileDialog saveDialog = new SaveFileDialog();
            saveDialog.DefaultExt = "xls";
            saveDialog.Filter = "Excel文件|*.xls";
            saveDialog.FileName = filename;
            saveDialog.ShowDialog();
            saveFileName = saveDialog.FileName;
            if (saveFileName.IndexOf(":") < 0) return; //被点了取消
            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            if (xlApp == null)
            {
                MessageBox.Show("无法创建Excel对象,可能你的机器上没有安装Excel!");
                return;
            }

Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
            Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
            Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
            int colIndex = 0;
            //写入标题
            for (int i = 0; i < dgvScore.ColumnCount; i++)
            {
                if (dgvScore.Columns[i].Visible)
                {
                    colIndex++;
                    worksheet.Cells[1, colIndex] = dgvScore.Columns[i].HeaderText;
                }
            }
            //写入数据
            for (int r = 0; r < dgvScore.Rows.Count; r++)
            {
                colIndex = 0;
                for (int i = 0; i < dgvScore.ColumnCount; i++)
                {
                    if (dgvScore.Columns[i].Visible)
                    {
                        colIndex++;
                        worksheet.Cells[r + 2, colIndex] = dgvScore.Rows[r].Cells[i].Value;
                    }
                }
                System.Windows.Forms.Application.DoEvents();
            }
            worksheet.Columns.EntireColumn.AutoFit();//列宽自适应
            if (saveFileName != "")
            {
                try
                {
                    workbook.Saved = true;
                    workbook.SaveCopyAs(saveFileName);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);
                    return;
                }
            }
            xlApp.Quit();
            GC.Collect();//强行销毁
            MessageBox.Show(filename + "文件导出成功", "提示", MessageBoxButtons.OK);

}

DataGridView导出Excel 隐藏列不显示相关推荐

  1. telerik:RadGrid导出Excel隐藏列

    //在导出时直接隐藏不需要导出的列 protected void btnExcel_Click(object sender, EventArgs e) { rgProduct.Columns[0].V ...

  2. WinForm下DataGridView导出Excel的实现

    WinForm下DataGridView导出Excel的实现   1.说明:导出的效率说不上很高,但至少是可以接收的.参考网上很多高效导出Excel的方法,实现到时能够实现的,导出速度也很快,不过缺陷 ...

  3. easyPoi 注解导出 动态隐藏列

    easyPoi 注解导出 动态隐藏列 1.先写个poi工具类 /*** 动态显示Excel导出列* @param <T>*/ public class EasyPoiUtil<T&g ...

  4. 行添加DataGridView导出Excel的数据表格

    最近研究行添加,稍微总结一下,以后继续补充: 将DataGridView中的据数导出为Excel的据数表格,方法有很多种,面下供提一种本人认为是一个好解理,较单简的方法.步调如下: 1.添加引用 2. ...

  5. C# 导出 Excel 数字列出现‘0’的解决办法

    在DataGird的中某一列全是数字并且长度大于15的字符,在导出excel时数字列第15-18位全部为0. 解决办法:在需导出数字列前加入英文字符状态的单引号(' ), 如: <asp:Tem ...

  6. easy-excel 导出excel自定义列格式

    导出excel的样式: 代码 @RequestMapping(value = "export",method = RequestMethod.GET)public void exp ...

  7. Java POI excel隐藏列

    /*** 隐藏列* @param sheet* @param hiddenColumns*/protected void hideColumns(Sheet sheet,List<Integer ...

  8. excel隐藏列显示列操作

    1.选择A.B.C列,然后右键 隐藏. 点击最左边和D列.点击取消隐藏.则列被显示出来了. 2.选择1.2.3列,然后右键 隐藏. 点击最左边和4行.点击取消隐藏.则行被显示出来了.

  9. 表格列隐藏_【excel每日提升】Excel隐藏列,不让别人打开!

    [新朋友]点击标题下面蓝色字"王俊东"关注. [老朋友]点击右上角,转发或分享本页面内容. excel系列课程 excel特效系列课程开始了,今天第2节! 第1节:Excel有公式 ...

最新文章

  1. ibatis代码生成器
  2. 白话Elasticsearch01- 结构化搜索之使用term query来搜索数据
  3. detachedcriteria查询去重_2020考研初试成绩查询:安徽研究生考试成绩查询入口
  4. 什么是C语言中的条件编译?
  5. Topic交换器-编写生产者
  6. SAP CRM WebClient UI Search against extension field
  7. js的异常捕获try和catch语句
  8. 比特币所有权及隐私问题 | 转账的加密流程
  9. 【包邮免费送】Python 全栈知识图谱
  10. DPM 2010(二)---BMR裸机恢复域控制器
  11. C语言编写贪吃蛇游戏
  12. ESP32使用百度语音合成 实现文字转语音播放
  13. ArcGIS Server 发布地图服务遇到的问题
  14. linux系统文件信息系统满,在Deepin系统中提示系统盘已经满了(/home文件大)的解决方案...
  15. E: Unable to locate package python-distutils The command ‘/bin/sh -c apt-get update apt-get insta
  16. 2015华为南研所校园招聘笔试面试经历
  17. 丢手帕问题 java_丢手帕问题java 实现
  18. 基于python/scipy学习概率统计(0):基础概念
  19. 一. javascript运算符
  20. im即时通讯开发:进程被杀底层原理、APP应对被杀技巧

热门文章

  1. 如何阻止烦人的广告?2020年最佳广告软件删除工具Top5
  2. 雾计算和边缘计算的区别
  3. 手机端点击图片放大特效-PhotoSwipe插件
  4. 发布个人项目jar包到maven中央仓库详解
  5. Hadoop--yarn--MapReduce安装配置
  6. 今日头条2018春季校园招聘研发岗位笔试编程题 - 题解
  7. 《分享系列1》30句必背宋词、两本深度学习电子书
  8. Java中关于多态的理解
  9. ASEMI三端正线性稳压器78M05工作原理
  10. FVD speed dial-firefox下漂亮和功能强大的快速拨号扩展