DataGridView导出Excel 隐藏列不显示
//导出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 隐藏列不显示相关推荐
- telerik:RadGrid导出Excel隐藏列
//在导出时直接隐藏不需要导出的列 protected void btnExcel_Click(object sender, EventArgs e) { rgProduct.Columns[0].V ...
- WinForm下DataGridView导出Excel的实现
WinForm下DataGridView导出Excel的实现 1.说明:导出的效率说不上很高,但至少是可以接收的.参考网上很多高效导出Excel的方法,实现到时能够实现的,导出速度也很快,不过缺陷 ...
- easyPoi 注解导出 动态隐藏列
easyPoi 注解导出 动态隐藏列 1.先写个poi工具类 /*** 动态显示Excel导出列* @param <T>*/ public class EasyPoiUtil<T&g ...
- 行添加DataGridView导出Excel的数据表格
最近研究行添加,稍微总结一下,以后继续补充: 将DataGridView中的据数导出为Excel的据数表格,方法有很多种,面下供提一种本人认为是一个好解理,较单简的方法.步调如下: 1.添加引用 2. ...
- C# 导出 Excel 数字列出现‘0’的解决办法
在DataGird的中某一列全是数字并且长度大于15的字符,在导出excel时数字列第15-18位全部为0. 解决办法:在需导出数字列前加入英文字符状态的单引号(' ), 如: <asp:Tem ...
- easy-excel 导出excel自定义列格式
导出excel的样式: 代码 @RequestMapping(value = "export",method = RequestMethod.GET)public void exp ...
- Java POI excel隐藏列
/*** 隐藏列* @param sheet* @param hiddenColumns*/protected void hideColumns(Sheet sheet,List<Integer ...
- excel隐藏列显示列操作
1.选择A.B.C列,然后右键 隐藏. 点击最左边和D列.点击取消隐藏.则列被显示出来了. 2.选择1.2.3列,然后右键 隐藏. 点击最左边和4行.点击取消隐藏.则行被显示出来了.
- 表格列隐藏_【excel每日提升】Excel隐藏列,不让别人打开!
[新朋友]点击标题下面蓝色字"王俊东"关注. [老朋友]点击右上角,转发或分享本页面内容. excel系列课程 excel特效系列课程开始了,今天第2节! 第1节:Excel有公式 ...
最新文章
- ibatis代码生成器
- 白话Elasticsearch01- 结构化搜索之使用term query来搜索数据
- detachedcriteria查询去重_2020考研初试成绩查询:安徽研究生考试成绩查询入口
- 什么是C语言中的条件编译?
- Topic交换器-编写生产者
- SAP CRM WebClient UI Search against extension field
- js的异常捕获try和catch语句
- 比特币所有权及隐私问题 | 转账的加密流程
- 【包邮免费送】Python 全栈知识图谱
- DPM 2010(二)---BMR裸机恢复域控制器
- C语言编写贪吃蛇游戏
- ESP32使用百度语音合成 实现文字转语音播放
- ArcGIS Server 发布地图服务遇到的问题
- linux系统文件信息系统满,在Deepin系统中提示系统盘已经满了(/home文件大)的解决方案...
- E: Unable to locate package python-distutils The command ‘/bin/sh -c apt-get update apt-get insta
- 2015华为南研所校园招聘笔试面试经历
- 丢手帕问题 java_丢手帕问题java 实现
- 基于python/scipy学习概率统计(0):基础概念
- 一. javascript运算符
- im即时通讯开发:进程被杀底层原理、APP应对被杀技巧