当前位置: 首页 > wzjs >正文

哪个网站虚拟主机好中国好公司排名

哪个网站虚拟主机好,中国好公司排名,广西住房城乡建设厅网站,天元建设集团有限公司中标今天来给大家介绍一下ExcelDataReader,ExcelDataReader是一个轻量级的可快速读取Excel文件中数据的工具。话不多说直接开始。 ExcelDataReader简介 ExcelDataReader支持.xlsx、.xlsb、.xls、.csv格式文件的读取,版本基本在2007及以上版本,支…

        今天来给大家介绍一下ExcelDataReader,ExcelDataReader是一个轻量级的可快速读取Excel文件中数据的工具。话不多说直接开始。

ExcelDataReader简介

        ExcelDataReader支持.xlsx、.xlsb、.xls、.csv格式文件的读取,版本基本在2007及以上版本,支持的格式和版本看下图。

        我们首先需要再VS中添加ExcelDataReader程序集,在 工具 -> NuGet包管理器 -> 管理解决方案的NuGet程序包 中搜索ExcelDataReader,并安装到工程中。如下图:

        ExcelDataReader和ExcelDataReader.DataSet都可以调用ExcelDataReader库,官网介绍由于版本升级问题,如果需要使用AsDataSet()方法则需要安装ExcelDataReader.DataSet。

ExcelDataReader使用

       我们下来介绍一下ExcelDataReader对于数据的读取,有两种方式可以读取Excel,IExcelDataReader方法和DataSet方法。

        我们先来展示一下Excel文件的示例,图1是Sheet1,图2是Sheet2

 

        IExcelDataReader

        首先我们需要通过 File.OpenRead 来获取 Excel.xlsx 的文件流数据。通过 ExcelReaderFactory.CreateReader 接口来创建 IExcelDataReader reader 对象,reader采取的是逐个工作表、逐行的方式读取数据,然后通过 reader.GetString(0) 获取数据。

        reader默认为第一个工作表,第一行数据开始。调用 reader.NextResult() 接口 reader 会移入下一个工作表。调用 reader.Read() 接口 reader 会读取一行数据。reader.GetString(0) 接口是通过索引来获取字符串数据,除此之外 reader 还有其他获取不同类型数据的接口,小伙伴可以自行查阅文档。

        由于 IExcelDataReader 采用的是逐页、逐行读取数据的方式,这种方式随便不够灵活便捷,但由于每次读取数据量少,所以在运行效率和性能上有比较大的优势。

using System.Text;
using ExcelDataReader;public class Program
{static void Main(string[] args){Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);string filePath = "Excel.xlsx";using (FileStream stream = File.OpenRead(filePath)){using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream)){// 1. Use the reader methodsdo{Console.WriteLine($"Sheet name:{reader.Name}");while (reader.Read()){Console.WriteLine($"{reader.GetString(0)} \t\t{reader.GetString(1)}");}Console.WriteLine();} while (reader.NextResult());}}}
}

        

        AsDataSet

        同样我们需要通过 File.OpenRead 来获取 Excel.xlsx 的文件流数据,然后通过 ExcelReaderFactory.CreateReader 接口来创建 IExcelDataReader reader 对象,这与之前的操作一样。

        之后我们通过 reader.AsDataSet() 接口来获取 DataSet dataSet 对象,dataSet 可以采用索引的方式来获取数据。通过  dataSet.Tables[0] 可以获取到 DataTable dataTable 对象。dataTable 就是Excel的工作页,输出 dataTable.TableName 可以获取到工作页名称。我们再通过 dataTable.Rows[0] 来获取 DataRow dataRow 对象,dataRow 是当前工作页下每一行的数据,通过 dataRow[0] 可以获取单元格中的数据。

        除了索引获取数据以外,依然可以通过遍历的方式来获取数据,示例代码如下。

using System.Data;
using System.Text;
using ExcelDataReader;public class Program
{static void Main(string[] args){Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);string filePath = "Excel.xlsx";using (FileStream stream = File.OpenRead(filePath)){using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream)){// 2. Use the AsDataSet extension methodDataSet dataSet = reader.AsDataSet();DataTable dataTable = dataSet.Tables[0];Console.WriteLine(dataTable.TableName);DataRow dataRow = dataTable.Rows[0];Console.WriteLine($"{dataRow[0]} {dataRow[1]}\n");foreach (DataTable table in dataSet.Tables){Console.WriteLine(table.TableName);foreach (DataRow row in table.Rows){Console.WriteLine($"{row[0]} \t{row[1]}");}Console.WriteLine();}}}}
}

        补充说明

        需要补充说明一下的是 ExcelDataReader 在.NET Core 和 .NET 5.0 或更高版本中会抛出encoding 1252的错误编码。解决办法就是需要为System.Text.Encoding.CodePages添加一个依赖项,在代码中添加 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 这段代码

官方文档链接

ExcelDataReader链接:https://github.com/ExcelDataReader/ExcelDataReader

http://www.dtcms.com/wzjs/838234.html

相关文章:

  • 不会编程可以做网站吗ps做网站首页效果图
  • 国外域名的网站电商网站建设需求分析书
  • pc蛋蛋网站开发windows优化大师官方
  • 嘉定网站建设公司一级a做爰片免费网站中国片
  • 东莞网站建设总结宣武上海网站建设
  • 网站字体一般是什么字体网页制作软件电脑
  • 网站建设百度搜索到左边的图虚拟电脑可以做网站吗
  • 衡水提供网站制作公司哪家专业单页营销网站怎么做
  • 租空间开网站单页面制作
  • 某企业网站建设规划书网站策划与建设
  • 网站服务器开发网页模板网站有那些
  • 网站建设预算报告网站开发环境
  • 新建网站站点的在线音乐网站怎么做
  • 国医堂网站平台建设福田公司
  • 济南网站建设富库网络易语言如何做网站吗
  • 网站 手机 appseo公司推广宣传
  • 上海哪家公司提供专业的网站建设网页设计师是什么专业
  • 网站后台运营怎么做wordpress微信公众号管理
  • 华铭保信建筑公司网站钻石网站建设
  • 学做软件和网站需要知识做网站经常加班还是app
  • 上海网站制作价格辽宁建设工程信息网注册
  • 上海信息科技有限公司软件网站开发揭阳网站设计制作
  • 泉州市建设工程质量监督站网站乐陵外贸seo
  • 大连模板网站制作哪家专业实体店面做网站推广要多少钱
  • 可以做3d电影网站有哪些自己做家具的网站
  • 蓝色系网站设计一站式服务
  • 重庆南坪网站建设公司证书兼职的正规平台哪里有
  • html5高端酒水饮料企业网站模版亚马逊网站建设进度计划书
  • 廊坊模板建站代理环保主题网站模板
  • 做捕鱼网站电话号码wordpress注册评论