代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
将DataGirdView数据,导出EXCEL文件
作者:
dezai
/ 发布于
2014/2/9
/
690
///<summary> ///将DataGirdView数据,导出EXCEL文件. ///</summary> ///<paramname="dgv">DataGridView控件名称</param> ///<paramname="name">导出excel文件名称</param> publicstaticvoidToExcel(DataGridViewdgv,stringname) { try { //总可见列数,总可见行数 intcolCount=dgv.Columns.GetColumnCount(DataGridViewElementStates.Visible); introwCount=dgv.Rows.GetRowCount(DataGridViewElementStates.Visible);//dataGridView没有数据提示 if(dgv.Rows.Count==0||rowCount==0) { MessageBox.Show("列表中没有数据无法导出!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error); return; } SaveFileDialogsave=newSaveFileDialog(); save.Filter="excelfiles(*.xls)|*.xls"; save.Title="请选择要导出数据的位置"; save.FileName=name+DateTime.Now.ToLongDateString(); save.InitialDirectory=System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop); if(save.ShowDialog()==DialogResult.OK) { XlsDocumentxls=newXlsDocument();//创建空xls文档xls.FileName=save.FileName;//保存路径,如果直接发送到客户端的话只需要名称生成名称Worksheetsheet=xls.Workbook.Worksheets.Add(name);//创建一个工作页为Dome //设置文档列属性 ColumnInfocinfo=newColumnInfo(xls,sheet);//设置xls文档的指定工作页的列属性 cinfo.Collapsed=true; //设置列的范围如0列-10列 cinfo.ColumnIndexStart=0;//列开始 cinfo.ColumnIndexEnd=10;//列结束 cinfo.Collapsed=true; cinfo.Width=90*60;//列宽度 sheet.AddColumnInfo(cinfo); //设置文档列属性结束//设置指定工作页跨行跨列 MergeAreama=newMergeArea(1,1,1,dgv.ColumnCount);//从第1行跨到第二行,从第一列跨到第5列 sheet.AddMergeArea(ma); //设置指定工作页跨行跨列结束//创建列样式创建列时引用 XFcellXF=xls.NewXF(); cellXF.VerticalAlignment=VerticalAlignments.Centered; cellXF.HorizontalAlignment=HorizontalAlignments.Centered; cellXF.Font.Height=24*12; cellXF.Font.Bold=true; cellXF.Pattern=0;//设定单元格填充风格。如果设定为0,则是纯色填充 cellXF.PatternBackgroundColor=Colors.Black;//填充的背景底色 cellXF.PatternColor=Colors.Black;//设定填充线条的颜色 //创建列样式结束//创建列 Cellscells=sheet.Cells;//获得指定工作页列集合 //列操作基本 Cellcell=cells.Add(1,1,name,cellXF);//添加标题列返回一个列参数:行列名称样式对象 //设置XY居中 cell.HorizontalAlignment=HorizontalAlignments.Centered; cell.VerticalAlignment=VerticalAlignments.Centered; //设置字体 cell.Font.Bold=true;//设置粗体 cell.Font.ColorIndex=0;//设置颜色码 cell.Font.FontFamily=FontFamilies.Roman;//设置字体默认为宋体 //创建列结束//生成字段名称 intk=0; for(inti=0;i<dgv.ColumnCount;i++) { if(dgv.Columns[i].Visible)//不导出隐藏的列 { Celltitle=cells.Add(2,k+1,dgv.Columns[i].HeaderText); title.HorizontalAlignment=HorizontalAlignments.Centered; title.VerticalAlignment=VerticalAlignments.Centered; k++; } } //填充数据 for(inti=0;i<dgv.RowCount;i++) { k=1; for(intj=0;j<dgv.ColumnCount;j++) { if(dgv.Columns[j].Visible)//不导出隐藏的列 { if(dgv[j,i].ValueType==typeof(string)) { cells.Add(i+3,k,""+dgv[j,i].Value.ToString()); } else { stringstr=dgv[j,i].Value.ToString(); if(str=="True") { str="是"; } elseif(str=="False") { str="否"; } cells.Add(i+3,k,str); } } k++; } }xls.Save(true);//保存 MessageBox.Show("Excel文件导出成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } } catch(Exceptionce) { MessageBox.Show(ce.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Error); } } 自己下载MyXls引用就可以咯
试试其它关键字
导出EXCEL
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
dezai
贡献的其它代码
(
1065
)
.
双色球
.
列出所有物理网络适配器
.
快乐数的 Python 实现
.
计算当月还剩天数
.
猜属相
.
二十四小时时钟
.
每日一语
.
很酷的日历
.
超长日历表单
.
最简单的时钟
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3