- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DataGridView输出或保存为Excel文件
2010-04-21 16:11:12| 分类: 程序源码 |举报 |字号大中小订阅
/// summary
/// DataGridView控件数据导出到Excel
/// excel2003 工作表大小 65,536 行乘以 256 列
///excel2007 工作表大小 1,048,576 行乘以 16,384 列 是2003的16倍
///否则你需要建立多个工作表来装载更多的数据
/// /summary
/// param name=ExportGridDataGridView控件/param
/// param name=fullFileName保存的文件路径/param
/// param name=IsOpenFile是否打开文件/param
/// returnsTrue/False/returns
public bool OutputFileToExcel(DataGridViewC ExportGrid, string fullFileName, bool IsOpenFile)
{
int id = 0;
bool ExportSuccess = false;
//如果网格尚未数据绑定
if (ExportGrid == null)
{
return false;
}
//Excel2003 工作表大小 65,536 行乘以 256 列
if (ExportGrid.Rows.Count 65536 || ExportGrid.ColumnCount 256)
{
return false;
}
// 列索引,行索引
int colIndex = 0;
int rowIndex = 0;
//总可见列数,总可见行数
int colCount = ExportGrid.Columns.GetColumnCount(DataGridViewElementStates.Visible);
int rowCount = ExportGrid.Rows.GetRowCount(DataGridViewElementStates.Visible);
if (rowCount == 0 || colCount == 0) //如果DataGridView中没有行,返回
{
return false;
}
// 创建Excel对象
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
if (xlApp == null)
{
return false;
}
// 创建Excel工作薄
Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
Microsoft.Office.Interop.Excel.Worksheet xlSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlBook.Worksheets[1];
Microsoft.Office.Interop.Excel.Range range;
IntPtr t = new IntPtr(xlApp.Hwnd);
// 创建缓存数据
object[,] objData = new object[rowCount + 1, colCount];
// 获取列标题,隐藏的列不处理
for (int i = 0; i ExportGrid.ColumnCount; i++)
{
if (ExportGrid.Columns[i].Visible)
{
objData[rowIndex, colIndex++] = ExportGrid.Columns[i].HeaderText;
if (ExportGrid.Columns[i].ValueType.ToString() == System.String)
{
//设置成文本型,有效避免将前置的0自动删除了
range = xlSheet.get_Range(xlApp.Cells[4, colIndex], xlApp.Cells[rowCount + 4, colIndex]);
range.NumberFormat = @;
}
}
}
// 获取数据,隐藏的列的数据忽略
for (int i = 1; i = rowCount; i++)
{
rowIndex++;
colIndex = 0;
for (int j = 0; j ExportGrid
您可能关注的文档
- book6 unit1 reading(人教版第六册第一单元).ppt
- Brocade级联并激活光纤交换机.doc
- Builder设计模式 - 构建整个应用的万能Dialog.doc
- BRAS设备介绍与配置.ppt
- C++程序设计题库(精简).doc
- C++程序的开发步骤.ppt
- C++builder课程设计报告.doc
- CAD PS 草图大师快捷键.doc
- B_7_U_1_Living_well_Reading_1(人教版高中英语选修七第一单元阅读)2013.3.24use[课件]2.ppt
- B_7_U_1_Living_well_Reading_1(人教版高中英语选修七第一单元阅读)[课件].ppt
最近下载
- 第14届国际数学教育大会标识及介绍.docx VIP
- 血友病教学课件.ppt VIP
- 《费尔巴哈的提纲》课件.ppt VIP
- 05S502 室外给水管道附属构筑物国标 建筑图集 汇编 .docx VIP
- 马工程系列《教育学原理》项贤明主编第一到十章全完整版课件PPT:产生发展、教育与社会人的发展、目的培养目标、制度、课程教学德育、教师学生等(1).pptx VIP
- 2025年山东能源集团公开招聘笔试参考题库附带答案详解.docx
- 积极心理学课件:构建积极生活,提升幸福感.ppt VIP
- 碘对比剂不良反应预防和处理课件.ppt VIP
- 糖尿病肾病合并肺部感染护理查房-幻灯片.ppt VIP
- 大学生安全教育(思政版):交通安全PPT教学课件.pptx VIP
文档评论(0)