c# 将数据导出到EXCEL文件(一)_c#保存数据到excel-程序员宅基地

技术标签: c#  excel  

       本文讲的是引用微软的office com组件,将数据导出到excel文件。因此使用前提是:电脑上已经安装可以使用的微软的office软件。

第一步:项目中加入微软的office的com组件引用。

在鼠标右击项目,点击【添加】弹出菜单列表,选择【项目引用】弹出【引用管理器】对话框,选择【COM】-【Microsoft Excel 16.0 Object Library】,如图所示:

第二步,编辑相关代码

文件头加 :using MSExcel = Microsoft.Office.Interop.Excel;

打开excel文件:

excelApp = new MSExcel.Application();
excelApp.Visible = false;// 设置EXCEl打开后是否可见。true:可见;false:不可见

MSExcel.Workbooks wbs = excelApp.Workbooks;

MSExcel.Workbook wb = wbs.Add(Missing.Value);// 打开临时文件

导入数据:

MSExcel.Worksheet excelSheet = workbook.Sheets[1];//定义一个新的工作表,获取excel 文件中的第一张工作表

excelSheet.Activate();// 激活工作表

excelSheet.Cells[1, 1] = "学生ID";
excelSheet.Cells[1, 2] = "姓名";
excelSheet.Cells[1, 3] = "性别";
excelSheet.Cells[1, 4] = "年龄";
excelSheet.Cells[1, 5] = "年级";
excelSheet.Cells[1, 6] = "总分";

int index = 1;
foreach (var item in studentList)
{
    int rowIndex = ++index;

    excelSheet.Cells[rowIndex, 1] = item.Id;// ID
    excelSheet.Cells[rowIndex, 2] = item.Name;
    excelSheet.Cells[rowIndex, 3] = item.Sex;
    excelSheet.Cells[rowIndex, 4] = item.Age;
    excelSheet.Cells[rowIndex, 5] = item.Class;
    excelSheet.Cells[rowIndex, 6] = item.Score;

}

保存到指定的excell文件:

wb.SaveAs(excelFileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlLocalSessionChanges, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

wb.Close();// 关闭文档
wbs.Close();// 关闭工作薄
excelApp.Quit(); // 关闭excel应用程序
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/READLEAF/article/details/128961004

智能推荐

计算机应用 拒稿,论文投稿频繁被拒怎么办?985博士学长经验分析-程序员宅基地

文章浏览阅读1.7k次。原标题:论文投稿频繁被拒怎么办?985博士学长经验分析在现行科研体制之内,对于硕博生而言,如果没有发表论文你甚至就无法证明自己的存在,硕博生毕业、老师的晋升都需要论文的保驾护航。因此发表论文是科研学者的主要工作和主要目标。相信很多科研学者都会有论文投稿频繁被拒的经历,投稿被拒出内伤是常有之事,那么如何提高论文的命中率,听学长仔细道来。论文被拒可以先从三个方面思考一看自己论文质量是不是没有达到那个水..._计算机综述投稿一直不中

基于python的opencv项目实战P1_python opencv实验-程序员宅基地

文章浏览阅读691次。基于python的opencv项目实战 01-简介教程b站:https://b23.tv/av77390697/p1准备软件下载anaconda清华镜像网站(lenovo Anaconda3-2019.10-Windows-x86_64)官网安装opencv 下载.whl安装网址p.s.在prompt窗口进入anaconda的Scriptsd:#转到D盘cd sof..._python opencv实验

python发邮件--中文附件报错问题_server.sendmail 附件报错-程序员宅基地

文章浏览阅读784次。# -*- coding: utf-8 -*-"""Created on Thu Apr 11 14:01:30 2019@author: zhang-peng"""#coding: utf-8 import osimport sysimport smtplibfrom email.mime.text import MIMETextfrom email.mime.ima..._server.sendmail 附件报错

Servlet中模板引擎的使用_servletcontexttemplateresolver-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏2次。一.本机环境及模板引擎依赖因为使用模板引擎技术,需要在Maven中的pom.xml中引入thymeleaf依赖。我这里jdk使用的是1.8;模板引擎的依赖版本为3.1.0。如果开发环境相同,可以参考下面的依赖。在dependencs中添加下面依赖即可。 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.s_servletcontexttemplateresolver

leetcode 102——二叉树的层次遍历_leecode树层次遍历-程序员宅基地

文章浏览阅读100次。leetcode 102 —— 二叉树的层次遍历题目描述:给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7],返回其层次遍历结果:[[3],[9,20],[15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bina..._leecode树层次遍历

【RabbitMQ】RabbitMQ集群搭建(Docker版本)_ddcker rabbitmq3.9.15-程序员宅基地

文章浏览阅读679次。RabbitMQ版本,通常与他的大的功能是有关系的。3.8.x版本主要是围绕Quorum Queue功能,而3.9.x版本主要是围绕Streams功能。目前还有3.10.x版本,还在rc阶段。我们这次选择3.9.15版本。RabbitMQ是基于Erlang语言开发,所以安装前需要安装Erlang语言环境。需要注意下的是RabbitMQ与ErLang是有版本对应关系的。3.9.15版本的RabbitMQ只支持23.2以上到24.3版本的Erlang。_ddcker rabbitmq3.9.15

随便推点

thinkphp5和php区别,thinkphp5.1和thinkphp5.0验证的区别-程序员宅基地

文章浏览阅读409次。最近在学习tp5.1,沿用5.0的代码发现不能触发验证,打开thinkphp5.1官方手册发现,原来的写法只能验证全部或者不验证全部规则,但是不能为去掉某个不需要的验证规则。以下是thinkphp5.0的验证规则,验证提示和验证场景写法:..._validate 5.0和5.1 不一样吗?

记一次磕磕绊绊的组建跨区卷过程_新建跨区卷-程序员宅基地

文章浏览阅读1.6k次。最近买了个地平线4,80多G,我这条500G的固态马上就容量告急了,于是下单了一块新的1T的固态。因为不喜欢分太多个分区,整个盘只分了系统(C盘)和软件(D盘)两个区,个人文件放在另一块机械盘里(E盘)。所以就想着把新的这块盘直接并到D盘上,组个跨区盘。然后就开始百度怎么组跨区盘。百度说要先转换成动态磁盘,于是就打开计算机管理——磁盘管理,选上两块盘点转换为动态磁盘。然后跳出提示“包名称无效”。遂再次百度,说是计算机名称要改成纯英文才能改。同时发现原来的500G盘里有个未知无用分区,估计是以前用Disk_新建跨区卷

Android基本控件和Activity的基本应用_android activity和控件-程序员宅基地

文章浏览阅读189次。Android基本控件和Activity的基本应用Android基本控件TextViewButtonAndroid基本控件TextView<TextViewandroid:id="@+id/name_text_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:gr..._android activity和控件

Java——聊聊JUC中的原子变量类_java原子变量-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏4次。Java——聊聊JUC中的原子变量类_java原子变量

Java实现ftp文件上传工具类及踩过的坑_java ftps 工具类-程序员宅基地

文章浏览阅读834次。一、环境jdk1.8 + springboot2.3.2.RELEASE + commons-net-3.6.jar + commons-lang3-3.8.jar + commons-io-2.6.jar二、添加pom.xml文件依赖<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6<_java ftps 工具类

HTML5兼容手机-程序员宅基地

文章浏览阅读754次。web网站如何实现兼容手机一、总结一句话总结:加上这句话即可:<meta name=“viewport” content=“width=device-width,initial-scale=1.0”>。1、移动设备上的三个viewport是哪三个,分别代表什么?ppk把移动设备上的viewport分为layout viewport 、 visual viewport 和 ide..._html5兼容手机