导出Excel神器最终版

泛型列表导出Excel:

最近好多导出问题就整这么个玩意共享给大家public class Export{/// <summary>/// 泛型导出Excel/// </summary>/// <param name="strCaption">Excel文件中的标题</param>/// <param name="pList">泛型列表(最好是同一类型)</param>/// <param name="saveFileDialog">保存文件对话框</param>/// <param name="fileName">要保存的文件名</param>/// <returns>0:成功;1:DataGridView中无记录;2:Excel无法启动;9999:异常错误</returns>public int ExportExcel(string strCaption, List<object> pList, SaveFileDialog saveFileDialog, string fileName){int result = 9999;//保存saveFileDialog.Filter = "Execl files (*.xls)|*.xls";saveFileDialog.FilterIndex = 0;saveFileDialog.RestoreDirectory = true;saveFileDialog.Title = "导出Excel文件";saveFileDialog.FileName = fileName;int RowCount = pList.Count;if (RowCount <= 0){result = 1;}else{if (saveFileDialog.ShowDialog() == DialogResult.OK){if (saveFileDialog.FileName == string.Empty){MessageBox.Show("请输入保存文件名!");saveFileDialog.ShowDialog();}Type type = pList[0].GetType();System.Reflection.PropertyInfo[] pis = type.GetProperties();int ColCount = pis.Length;// 创建Excel对象Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();if (xlApp == null){result = 2;}else{try{// 创建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 = xlSheet.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, ColCount]); //标题所占的单元格数与DataGridView中的列数相同range.MergeCells = true;xlApp.ActiveCell.FormulaR1C1 = strCaption;xlApp.ActiveCell.Font.Size = 20;xlApp.ActiveCell.Font.Bold = true;xlApp.ActiveCell.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;// 创建缓存数据object[,] objData = new object[RowCount + 1, ColCount];try{//获取列标题for (int i = 0; i < pis.Length; i++){objData[0, i] = pis[i].Name;}// 获取数据for (int i = 1; i <= pList.Count; i++){for (int j = 0; j < pis.Length; j++){objData[i, j] = pis[j].GetValue(pList[i - 1], null);}}}catch{result = 9999;}// 写入Excelrange = xlSheet.get_Range(xlApp.Cells[2, 1], xlApp.Cells[RowCount + 2, ColCount]);range.Value2 = objData;xlBook.Saved = true;xlBook.SaveCopyAs(saveFileDialog.FileName);}catch (Exception err){result = 9999;}finally{xlApp.Quit();GC.Collect(); //强制回收}//返回值result = 0;}}}return result;}}

 

转载于:https://www.cnblogs.com/haoqi/p/3388213.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国外计算机课程lab,计算机系统实验之bomblab

今天刚刚验收CSAPP实验3&#xff0c;趁着余温&#xff0c;记录一下这个实验&#xff0c;顺便回顾下CSAPP课程的相关知识。实验目的1.使用gdb工具反汇编出汇编代码&#xff0c;结合c语言文件找到每个关卡的入口函数。然后分析汇编代码&#xff0c;分析得到每一关的通关密码。2.熟…

批量实现ssh免交互认证

因为要部署一批服务器&#xff0c;为了以后管理方便&#xff0c;要进行免密认证。一台一台做很费时&#xff0c;脚本又得手动输密码。于是上网搜了搜&#xff0c;发现一个非常简单的免交互认证&#xff0c;不需要入密码即可完成&#xff01;环境&#xff1a;centos 6.8 虚拟机V…

CSS兼容IE6,IE7,FF的技巧(COPY来的,还没看)

一、CSS HACK 以下两种方法几乎能解决现今所有HACK.翻阅很多资料&#xff0c;已测试可以使用。 1, !important 随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.) PLAIN TEXT CSS: #wrapper { width: 100px!important; /* IE…

计算机复制粘贴教案,信息技术《文本的复制与移动》教案

一、教学内容分析本课是小学信息技术教材四年级下册第十八课文本的复制与移动。是在学生掌握了文件夹的复制、移动&#xff0c;以及掌握了Word的启动、退出&#xff0c;在Word中输入文字并保存等内容之后的又一个知识点&#xff0c;学好这一课为学生以后学习文本的编辑与操作&a…

ajax基础知识

AJAX 指异步JavaScript及XML&#xff08;Asynchronous JavaScript And XML&#xff09;运用ajax步骤&#xff1a;创建对象&#xff08;注意IE6兼容问题&#xff09;、连接服务器、发送请求、接收返回ajax的readystate属性&#xff1a;0&#xff1a;表示未初始化1&#xff1a;表…

SDM For Face Alignment 流程介绍及Matlab代码实现之预处理篇

SDM全称为 Supervised Descent Method&#xff0c;是一种机器学习的方法&#xff0c;可以被用来做Face Alignment. 下面我们将通过matlab代码来梳理整个实现的过程。 预处理阶段 Input&#xff1a; ../data/lfpw/trainset &#xff08;811张图片&#xff09; Output: mean_…

Nginx初识

configure脚本&#xff1a;1、cat <EOF >>test.txtEOF多行追加2、uname用于打印当前操作系统的相关信息3、2>/dev/null/dev/null 代表空设备文件 1 表示stdout标准输出&#xff0c;系统默认值是1&#xff0c;所以">/dev/null"等同于"1>/dev/n…

linux中shell变量$#,$@,$0,$1,$2的含义解释

linux中shell变量$#,$,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID&#xff08;ProcessID&#xff09; $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码&#xff08;返回值&#xff09; $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*&quo…

分享25个新鲜出炉的 Photoshop 高级教程

网络上众多优秀的 Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径。今天&#xff0c;我向大家分享25个新鲜出炉的 Photoshop 高级教程&#xff0c;提高你的设计技巧&#xff0c;制作时尚的图片效果。这些教程可以帮助把你的想法变成现实&#xff0c;并创造新的东西。 …

北京林业大学计算机技术复试,北京林业大学计算机应用技术04年考研复试办法...

一、复试小组的组成原则和人数计算机应用技术学科硕士研究生复试小组由具有副教授以上(含副教授)职称的研究生导师和具有博士学位的副教授组成&#xff0c;人数为3~5人。组长有学科负责人担任&#xff0c;设秘书1名。二、专业课的考核形式和要求专业课的考核形式为笔试和口试。…

SDM For Face Alignment 流程介绍及Matlab代码实现之训练篇

SDM 训练阶段的任务如下&#xff1a; 载入标准化的数据&#xff08;包括400*400的正脸及特征点&#xff09;对每一张标准化的图片&#xff0c;模拟人脸检测仪&#xff0c;产生10个扰动的人脸框及相应的初始特征点x0。求解Δx,Φ,其中Δxx∗−x0,x∗表示true shape,Φ表示每个特…

Hibernate5-多对1(n:1)-fetch=join

1.创建项目,项目名称hibernatedemo26,目录结构如图所示2.在项目中创建lib目录存储jar文件,目录结构如图所示3.在src目录中创建实体类Forum,包名(com.mycompany.demo.bean),如图所示4.实体类Forum的内容如下package com.mycompany.demo.bean;import java.util.Set;public class …

如何使用固定二级子域名公网访问多个本地Windows Web网站

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

部分和问题

0-1部分和 问题描述&#xff1a;有n个大小不同的数字a&#xff0c;判断是否能从中取出若干个数&#xff0c;使得这些数的和为k。解决思路&#xff1a;利用DFS(深度优先搜索)来解决&#xff0c;用dfs(i,j)表示前i个数字能否得到部分和j,则根据前i1个数的能否得到部分和j或ja[i1]…

实验 6 数组1

//输入n个整数&#xff0c;将它们存入数组a中。输出最大值和它所对应的下标。 #include<stdio.h> int main(void) {int n,i,x;int a[10];x0;printf("enter n:");scanf("%d",&n);for(i0;i<n;i){printf("enter :");scanf("%d&qu…

初中计算机职称答辩,晋升中学语文高级教师职称答辩内容举例

晋升中学语文高级教师职称答辩内容举例 晋升中学语文高级教师职称答辩秘籍 最重要的一点&#xff1a;你要对课本上的重点篇目非常熟悉&#xff01;对于现代文来说作者、题材、课文重点、重点句子词语、中心思想等你都要明了。对于文言文来说&#xff0c;要求学生掌握的&#xf…

SDM For Face Alignment流程介绍及Matlab代码实现之测试篇

测试很简单了&#xff0c;只需要载入数据&#xff0c;然后做正则化处理&#xff0c;使用训练模型产生的{Rk},就可以预测特征点了。 face_alignment.m:用来预测特征点 function shape face_alignment( ShapeModel, DataVariation,...LearnedCascadedModel, Data, img, shape,…

Flink – JobManager.submitJob

JobManager作为actor&#xff0c; case SubmitJob(jobGraph, listeningBehaviour) >val client sender()val jobInfo new JobInfo(client, listeningBehaviour, System.currentTimeMillis(),jobGraph.getSessionTimeout)submitJob(jobGraph, jobInfo) submitJob&#xff0…

window内容

window parent top location.href location.reload location.replace转载于:https://www.cnblogs.com/carlos-guo/p/3391784.html

计算机类公务员如何提升自己,大学毕业才发现:所学专业对考公务员如此重要,4类专业上岸率高...

导语&#xff1a;毕业季来临&#xff0c;同学们是想直接找工作积累工作经验&#xff0c;还是继续考取相关证书&#xff0c;来获得更稳定职业的入场券&#xff1f;毕业抉择很多毕业生面临的第一个问题就是未来职业规划&#xff0c;因为大学毕业之后&#xff0c;就意味着一段新的…