c#读取excel的方法有不少,这里重点讲直接将excel文件读取到dataset中。在实践过程中会有不少问题,特意摘抄在此:

1.基本的代码

 private DataSet importExcelToDataSet(string FilePath)
        {
            string strConn;
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FilePath + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1'";
            OleDbConnection conn = new OleDbConnection(strConn);
           // OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [出车登记表$A:K]", strConn);
            OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [出车登记表$A:L]  where f3<>''", strConn);
            DataSet myDataSet = new DataSet();
            try
            {
                myCommand.Fill(myDataSet);
            }
            catch (Exception ex)
            {
                MessageBox.Show("error," + ex.Message);
            }
            return myDataSet;
        }

调用的时候传入参数为excel文件的路径,返回值是一个dataset。

2.代码注意事项

2.1这一句“ strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FilePath + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1'";
”。

2.1.1:Extended Properties后面的值,excel的版本:excel2003/07都要指定为8.0

2.1.2:HDR=No;表示是否将excle中的第一行也作为数据读取到dataset中

2.1.3:IMEX=1 表示将某列中既有数值又有文本的统一认为是文本处理,此语句可解决某些单元格内容读取到excel中是空白的问题。

2.2这一句“ OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [出车登记表$A:L]  where f3<>''", strConn);

2.2.1:SELECT * FROM  谁都知道是干什么的,后面跟上"[]",里面写要读取的工作表的名字,以美元符号结束,如“工作表1$”这样。

2.2.2:如果要读取指定范围内的列,则在工作表名字以及美元符号后写上起始列编号+冒号+截止列编号,如“[工作表1$C:K]”。此语句可解决读取过程中出现“包含了太多列”的异常。

2.2.3如果某些单元格内容为空就不读取此行则增加where条件,假设工作表中的A列中某一个单元格内容为空不读取则写“ WHERE f1<>''”,如果是b列则是f2<>''依此类推。此语句可解决读取完成的datast中包含n多无意义的空行。其他情况需要自行发现了。

c# 读取excel的一系列问题相关推荐

  1. 用JavaScript读取excel并按列转换为数组

    首先说一下,ie浏览器有个ActiveXObject的属性,可以很方便的操作excel,网上也有很大教程,就不再赘述了,自行百度. 如果是非ie浏览器的,则需要用到html5的FileReader属性 ...

  2. js-xlsx 读取Excel解析

    近期公司开始做绩效,某一天上午 HR 妹纸发了份 Excel 模板过来,让我下发给小组内成员填写.当天下午下班前,组内的绩效表就收齐了,接下来我就开始进入下一个环节,逐一打开每个 Excel 表为每个 ...

  3. python excel 内容写入html,PYTHON读取EXCEL内容再转变成HTML添加到OUTLOOK中

    需求 读取excel里的表格里的内容,然后打开本机的outlook.把excel里的内容添加到正文里,注意.这里是要添加到正文!正文!正文!而不是添加到附件里 设计思路 1.excel处理 打开exc ...

  4. Spring boot读取Excel并存入PG数据库(一)

    Spring boot读取Excel并存入PG数据库(一) 目录 一.前言 二.项目需求 三.数据库表设计 四.代码实现和测试 五.总结 一.前言 进入9月以来,一直忙于项目,特别是临近国庆节这半个月 ...

  5. 41. Pandas读取Excel绘制直方图

    Pandas读取Excel绘制直方图 直方图(Histogram): 直方图是数值数据分布的精确图形表示,是一个连续变量(定量变量)的概率分布的估计,它是一种条形图. 为了构建直方图,第一步是将值的范 ...

  6. Python读取excel文件中的数据,绘制折线图、散点图

    https://www.cnblogs.com/liulinghua90/p/9935642.html https://blog.csdn.net/qq_32458499/article/detail ...

  7. 数学建模常用读取excel和txt代码

    文章目录 一.matlab篇 1.1.读取.xls和.xlsx的数据 1.2.读取.csv的数据 二.python篇 2.1.pandas库 2.1.1.xlsx和xls的读取和写入 2.1.2.cs ...

  8. Python xlrd 读取excel表格 常用用法整理

    xlrd 的使用 #!/usr/bin/python# # -*- coding: utf-8 -*- import xlrd import sys reload(sys) sys.setdefaul ...

  9. python 读取excel 内的中文显示为unicode 编码

    测试的excel 显示如下 读取excel 打印的效果如下 现在想显示为中文 处理代码如下 #!/usr/bin/python# # -*- coding: utf-8 -*- import xlrd ...

最新文章

  1. ASP.NET MVC – 关于Action返回结果类型的事儿(上)
  2. Redis的Hash操作
  3. SmartCode.ETL 这不是先有鸡还是蛋的问题!
  4. 弹出VIEW.非dialog
  5. 前端学习(1972)vue之电商管理系统电商系统之弹出修改对话框
  6. 超酷炫粒子背景插件—particles.js
  7. 微课|玩转Python轻松过二级:第3章课后习题解答3
  8. python制作词作云动画_3分钟教你用python制作一个简单词云
  9. MySQL的字符集和校对规则,你都会了吗?
  10. #####好好好好###### 什么是我所说的 Conversational Robot
  11. C# 上传本地文件到远程共享文件夹,从远程共享文件夹下载文件到本地
  12. RSA对称加密(JS加密,C#、Java解密)
  13. 电子学会2023年3月青少年软件编程(图形化)等级考试试卷(一级)真题,含答案解析
  14. Java创建对象过程:类的初始化和实例化
  15. 语音识别数据增强方法(google2019年7月论文)
  16. 【JS】1037- 面试前必备的 JavaScript 基础知识梳理总结
  17. Elasticsearch搜索辅助功能解析(十)
  18. 判断一个数2的n次幂的php,如何判断一个数是不是2的n次幂
  19. 华为公共云有uos系统服务器,华为云服务器上 公共镜像
  20. c#显示mjpg-stream流

热门文章

  1. 固态器件理论(8)绝缘栅场效应晶体管(MOSFET)
  2. HDLBits 系列(37)此系列关于独热码的题目的疑问?
  3. session和cookie的区别和联系---转载
  4. strut2配合json返回数据json对象
  5. cmd xcopy进行远程复制
  6. 12c PDB自启动
  7. spring aop 拦截业务方法,实现权限控制
  8. iOS 线程操作库 PromiseKit
  9. 白盒测试黑盒测试和单元测试集成测试和系统测试的关系
  10. Rectangular inference 矩形推理