从excel读取数据到datatable
/// <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相关推荐
- python 读取excel太慢_实用技巧——Python实现从Excel读取数据并绘制成图像
喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为 ...
- 实用技巧——Python实现从Excel读取数据并绘制成图像
本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为: 使用xlrd扩展包读取excel数据 使用matplotlib绘制二维图像 美化图像,添 ...
- Python实现从excel读取数据并绘制成精美图像
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Pyth ...
- 【python量化交易学习】从tushare获取股票交易数据,存入后再从mysql或excel读取数据,筛选股票,用pyecharts画出K线图。
选定日期,筛选涨幅达到10%的股票,并画出K线图.观察涨停后股票走势. 由于创业板涨停板为20%,科创板20%,北交所30%.因此筛选出的涨停股票不完全准确.考虑到目前市场打板主要集中在10%的主板股 ...
- 【VBA技巧】不打开Excel读取数据
原文链接:https://mp.weixin.qq.com/s/5Pje8v2bmHYZcnYgmYnyjQ 如果是手工提取数据,通常是打开文件在复制粘贴.换用VBA则可以快速打开后马上复制好,能节省 ...
- winform打开Excel读取数据并显示到datagridview中
[c-sharp] view plain copy print ? /// <summary> /// 选择相应的Excel文件 /// </summary> /// & ...
- 从Excel读取数据,注册hotmail等信箱的脚本半自动化简单谈
我们知道,工作中不可避免需要做很多重复性的工作,很多人把这个称为,办公自动化.我觉得如果你掌握了一些脚本语言的话,就知道这些工作量实际上是可以避免的. 下面就用实际遇到的一个例子来说明脚本语言的优越性 ...
- 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 ...
- 从Excel读取数据,然后分析相似的数据,多线程处理(多线程比较相似的字符串,统计出相似的数量及字符串)...
之前的jar包有问题,现已修改. 需要的jar包,已修改 自己去Maven中央仓库下载jar包. excel数据: 直接上代码. 程序再度优化了一遍.之后如果想再度精准,可能需要建模,最近没空继续做了 ...
最新文章
- jquery +做CheckBoxList全选,反选
- 日期时间格式之间的相互转换
- Last_Error: Slave SQL thread retried transaction 10 time(s) in vain, giving up导致主从不同步的解决方法
- 真的掏空了吗?华为开始疯狂出4G手机
- 建立一个普通方法无法打开查看和删除的文件夹
- 取消c++所设置的cout中setprecision输出的格式
- Win11连不上网怎么办 win11连不上网的设置方法
- PLC控制系统检查与维护方法
- 将网页上的MathJax复制到word中
- 【算法千题案例】每日LeetCode打卡——68.反转字符串中的元音字母
- 汇编语言小写字母转换为大写字母
- 【MySQL】按各科成绩进行排序,并显示排名
- Qt的长期支持版本的知识搜集
- 团队作业-Beta冲刺(周四)
- 魏宇轩后台管理(1)_项目介绍
- SCI论文解读复现【NO.2】基于注意机制的YOLOv5改进算法在行星图像中的应用(代码已复现)
- Qt - WPS文本编辑器(WPS段落对齐)
- 2D游戏中遮挡实现--记录
- 跑moses摩西翻译系统
- Hive 根据日期计算周数以及周几
热门文章
- java判断两个矩形是否相交_判断矩形相交以及求出相交的区域
- vue快速复制快捷键_vue快捷键.doc
- 大文件上传 之 改版了的SlickUpload.HttpUploadModule(Krystalware.SlickUpload.dll)
- JAVA 中 Redis与ehcache对比与使用
- 使用slf4j和log4j记录日志
- ajax的url怎么将后缀补上_球形门锁怎么拆装?球形门锁安装的方法都包括哪些?
- python数据科学课后答案_Python数据科学-技术详解与商业实践-第五讲作业
- 双变量空间自相关_空间计量经济学的发展及其应用,经济模型总会需要
- mysql explode函数_hive中,lateral view 与 explode函数
- opencv 识别长方形_利用opencv识别并提取图片中的矩形