首页 > 原创文章 > 软件开发 > 查看文章

使用C#读取Excel文件内容的两种方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2024-11-25 11:07 浏览: 5862 IP属地: 深圳

使用c#读取excel文件可以通过OleDbDataAdapter来进行读取,将excel文件作为数据库,以检索数据的方式来读取excel内容。具体代码如下:

var fileName = string.Format("{0}\\fileNameHere", Directory.GetCurrentDirectory());
var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName);

var adapter = new OleDbDataAdapter("SELECT * FROM [workSheetNameHere$]", connectionString);
var ds = new DataSet();

adapter.Fill(ds, "anyNameHere");

DataTable data = ds.Tables["anyNameHere"];

也可以设置data为

var data = ds.Tables["anyNameHere"].AsEnumerable();

这种方式可以使用LINQ进行搜索,并从字段中构建结构

var query = data.Where(x => x.Field<string>("phoneNumber") != string.Empty).Select(x =>
	new MyContact
	{
		firstName= x.Field<string>("First Name"),
		lastName = x.Field<string>("Last Name"),
		phoneNumber =x.Field<string>("Phone Number"),
	}
);


标签:

相关文章

使用Visual Studio开发C#程序时...

我们都知道Visual Studio的自动完成功能,可以在开发时,自动提示补充语法、参数等信息,可以方便的协助我们来开发程序,但是有同学发现,在使用VS开发C#程序时,编辑器的自动完成功能很不好用,要么是在正常输入代码时,突然出现提示,...

丁老师淘宝采集插件demo

丁老师淘宝采集插件demo

VideoJs宽度高度自适应100%的方法

videojs是一款非常不错的html video播放器插件,很多同学经常在群里问我,说丁老师这个videojs怎么设置为宽度或者高度自适应呢,不想把video的width和height写死,有没有什么办法呢。丁老师经过研究发现啊,vi...

Javascript复制对象改变原值的解决办...

在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let old={ "a":1, "b":2 } let new=old; new['c']=...

推荐文章

FastAdmin非菜单链接,跳转菜单页面的...

在fastadmin中,一个页面的非菜单链接,想要点击后打开指定页面,并且菜单自动展开,该怎么实现呢?经过丁老师研究后,发现超级简单,废话不多说,直接上代码:<a class="btn-addtabs" href=...

Composer self-update 更...

1. composer版本更新文档版本号:https://getcomposer.org/download中文网:https://docs.phpcomposer.com/03-cli.html#self-update英文网:https:/...

微信公众号如何集成对接网站网页

微信公众号可以把官网的网页集成进去吗?想通过微信公众号实现打开公司网站的页面,具体要怎么实现呢?其实这个功能,可以通过微信菜单的方式来实现...

Uniapp开发微信小程序时,微信开发者工具...

在使用uniapp开发微信小程序,微信开发者工具调试时,明明已经给了获取位置权限,但还是提示需要打开gps获取位置,具体解决办法如下:打开uniapp的manifest.json文件,切换到源码模式,找到mp-weixin节点"p...