/// <summary>
        /// 
        /// 从excel读取数据到datatable
        /// using System.Windows.Forms;
        /// using System.Data.OleDb;
        /// using System.Threading;
        /// </summary>
        /// <param name="hasTitle">excel量是否有头</param>
        /// <returns></returns>

public static  DataTable GetDataFromExcelByConn(bool hasTitle = true)         {

OpenFileDialog openFile = new OpenFileDialog();

      openFile.Filter = "Excel(*.xlsx)|*.xlsx|Excel(*.xls)|*.xls";

      openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

openFile.Multiselect = false;

    Thread th = new Thread(new ThreadStart(delegate ()             {

openFile.ShowDialog();

}));

    th.TrySetApartmentState(ApartmentState.STA);

th.Start();

th.Join();

var filePath = openFile.FileName;

string fileType = System.IO.Path.GetExtension(filePath);

if (string.IsNullOrEmpty(fileType)) return null;

using (DataSet ds = new DataSet())             {

string strCon = string.Format("Provider=Microsoft.Jet.OLEDB.{0}.0;" + "Extended Properties=\"Excel {1}.0;HDR={2};IMEX=1;\";" +  "data source={3};",  (fileType == ".xls" ? 4 : 12), (fileType == ".xls" ? 8 : 12), (hasTitle ? "Yes" : "NO"), filePath);

string strCom = " SELECT * FROM [Sheet1$]";

using (OleDbConnection myConn = new OleDbConnection(strCon))

using (OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn))                 {

myConn.Open();

myCommand.Fill(ds);

}

if (ds == null || ds.Tables.Count <= 0) return null;

return ds.Tables[0];

}

}

转载于:https://www.cnblogs.com/cgfblogs/p/9436186.html

从excel读取数据到datatable相关推荐

  1. python 读取excel太慢_实用技巧——Python实现从Excel读取数据并绘制成图像

    喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为 ...

  2. 实用技巧——Python实现从Excel读取数据并绘制成图像

    本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为: 使用xlrd扩展包读取excel数据 使用matplotlib绘制二维图像 美化图像,添 ...

  3. Python实现从excel读取数据并绘制成精美图像

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Pyth ...

  4. 【python量化交易学习】从tushare获取股票交易数据,存入后再从mysql或excel读取数据,筛选股票,用pyecharts画出K线图。

    选定日期,筛选涨幅达到10%的股票,并画出K线图.观察涨停后股票走势. 由于创业板涨停板为20%,科创板20%,北交所30%.因此筛选出的涨停股票不完全准确.考虑到目前市场打板主要集中在10%的主板股 ...

  5. 【VBA技巧】不打开Excel读取数据

    原文链接:https://mp.weixin.qq.com/s/5Pje8v2bmHYZcnYgmYnyjQ 如果是手工提取数据,通常是打开文件在复制粘贴.换用VBA则可以快速打开后马上复制好,能节省 ...

  6. winform打开Excel读取数据并显示到datagridview中

     [c-sharp] view plain copy print ? /// <summary> /// 选择相应的Excel文件 /// </summary> /// & ...

  7. 从Excel读取数据,注册hotmail等信箱的脚本半自动化简单谈

    我们知道,工作中不可避免需要做很多重复性的工作,很多人把这个称为,办公自动化.我觉得如果你掌握了一些脚本语言的话,就知道这些工作量实际上是可以避免的. 下面就用实际遇到的一个例子来说明脚本语言的优越性 ...

  8. matlab从excel读取数据,使用Matlab从Excel中读取数据并实现回归统计计算

    Excel中的数据: y = 7.3800 8.5100 9.5200 7.5000 9.3300 8.2800 8.7500 7.8700 7.1000 8.0000 x = 1.0000    5 ...

  9. 从Excel读取数据,然后分析相似的数据,多线程处理(多线程比较相似的字符串,统计出相似的数量及字符串)...

    之前的jar包有问题,现已修改. 需要的jar包,已修改 自己去Maven中央仓库下载jar包. excel数据: 直接上代码. 程序再度优化了一遍.之后如果想再度精准,可能需要建模,最近没空继续做了 ...

最新文章

  1. jquery +做CheckBoxList全选,反选
  2. 日期时间格式之间的相互转换
  3. Last_Error: Slave SQL thread retried transaction 10 time(s) in vain, giving up导致主从不同步的解决方法
  4. 真的掏空了吗?华为开始疯狂出4G手机
  5. 建立一个普通方法无法打开查看和删除的文件夹
  6. 取消c++所设置的cout中setprecision输出的格式
  7. Win11连不上网怎么办 win11连不上网的设置方法
  8. PLC控制系统检查与维护方法
  9. 将网页上的MathJax复制到word中
  10. 【算法千题案例】每日LeetCode打卡——68.反转字符串中的元音字母
  11. 汇编语言小写字母转换为大写字母
  12. 【MySQL】按各科成绩进行排序,并显示排名
  13. Qt的长期支持版本的知识搜集
  14. 团队作业-Beta冲刺(周四)
  15. 魏宇轩后台管理(1)_项目介绍
  16. SCI论文解读复现【NO.2】基于注意机制的YOLOv5改进算法在行星图像中的应用(代码已复现)
  17. Qt - WPS文本编辑器(WPS段落对齐)
  18. 2D游戏中遮挡实现--记录
  19. 跑moses摩西翻译系统
  20. Hive 根据日期计算周数以及周几

热门文章

  1. java判断两个矩形是否相交_判断矩形相交以及求出相交的区域
  2. vue快速复制快捷键_vue快捷键.doc
  3. 大文件上传 之 改版了的SlickUpload.HttpUploadModule(Krystalware.SlickUpload.dll)
  4. JAVA 中 Redis与ehcache对比与使用
  5. 使用slf4j和log4j记录日志
  6. ajax的url怎么将后缀补上_球形门锁怎么拆装?球形门锁安装的方法都包括哪些?
  7. python数据科学课后答案_Python数据科学-技术详解与商业实践-第五讲作业
  8. 双变量空间自相关_空间计量经济学的发展及其应用,经济模型总会需要
  9. mysql explode函数_hive中,lateral view 与 explode函数
  10. opencv 识别长方形_利用opencv识别并提取图片中的矩形