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

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

所属分类:软件开发 来源: 丁老师原创 更新时间:2024-11-25 11:07 浏览: 5972 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"),
	}
);


标签:

相关文章

使用ACME申请SSL证书提示Error c...

在使用ACME申请SSL证书时,输入了命令:acme.sh --issue -d www.xxx.com --dns dns_dp --server xxx来生成证书,但是结果却返回:Error creating new order. ...

php拼装sql语句,换行查询出错的问题解决

在php代码中,遇到复杂的sql语句,需要拼装sql语句,如:$sql='id 10;' $sql=' and( status in(1,2,3,4,5) and id not in (select id fro...

Wordpress安装时出现Error es...

群里有个做外贸的朋友,准备使用wordpress建个外贸站,但是自己在安装时,却安装失败,提示“Error establishing a database connection”,这是什么原因,该怎么解决呢?故障分析:1.Error e...

签名算法的MD5/RSA/SHA1/SHA2...

我们在从事软件开发过程中,经常会遇到使用签名算法,比如在线支付、API接口调用、数据推送、报文校验、身份授权等场景,每一个过程都需要进行签名,原理是请求的数据在发送数据的同时,对数据根据算法进行签名,然后服务端接收数据时,除了校验基本数...

推荐文章

APP/小程序/网站/对接微信支付常见问题解...

现在微信支付已经超越支付宝,成为中国最广泛的在线支付方式。作为互联网电子商务服务商,如何开通对接微信支付?如何使用微信支付呢?丁老师整理一篇微信支付常见的问题解答。一、如何开通微信支付?微信支付可以在微信支付官网(https://pay.w...

BT宝塔升级方法

由老版本7.2自动升级时,会出现很多问题,建议在终端手动升级。升级命令:curl http://download.bt.cn/install/update_panel.sh|bash

宝塔面板phpmyadmin数据库表导航树禁...

宝塔面板的phpmyadmin,默认数据库表导航树是每30个一页,非常的不直观,可以通过修改宝塔phpmyadmin配置文件的方式来禁止他分页。修改方法:1.进入服务器/www/server/phpmyadmin/phpmyadmin_随机...

Mysql 1267 Illegal mix...

这个问题,用普通sql语句查询,好解决,把表的字符编码改为对应的就可以了。 但在使用视图查询时,比如select 'aaa' as type from xxx; select * from view where type=...