Excel导入DataTable(二)

集成学习综述—bagging/随机森林/adaboost/GBDT/XGBoost/LightGBM/catboost 原理和代码介绍 集成学习介绍 文章目录集成学习介绍1 基本概念1.1 定义基本定义集成学习类别参考链接1.2 基学习器(CART)介绍公式介绍例子讲解代码实践参考链接1.3 偏差(bias)和方差(var)公式推导图解参考链接2 Boosting类2.1 原理2.2 AdaBoost2.2.2 公式推导2.2.3 优点与不足优点不足应用2.2.4 代码实践2.2.5 参考链接2.3 GBDT原理介绍代码实践参考... 阅读详情

这种方法导入DataTable是利用 Excel.Range的Value2属性。和导出Excel(一)是一个相反的过程。一般情况下不建议使用这种方法。

         /// <summary>
        /// Excel导入DataTable
        /// </summary>
        /// <param name="strFileName">文件名称</param>
        /// <param name="isHead">是否包含表头</param>
        /// <param name="iSheet">Sheet</param>
        /// <param name="strErrorMessage">错误信息</param>
        /// <param name="iRowsIndex">导入的Excel的开始行</param>
        /// <returns></returns>
         public static DataTable GetDataFromExcel(string strFileName, bool isHead,  int iSheet,
            ref string strErrorMessage,int iRowsIndex)
        {
            if (!strFileName.ToUpper().EndsWith(".XLS"))
            {
                strErrorMessage = "文件类型与系统设定不一致,请核对!";
                return null;
            }

            Excel.Application appExcel = new Excel.Application();
            Excel.Workbook workbookData;
            Excel.Worksheet worksheetData;

            workbookData = appExcel.Workbooks.Open(strFileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                     Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

            worksheetData = (Excel.Worksheet)workbookData.Sheets[iSheet];


            Excel.Range xlRang = null;
            int iRowCount = worksheetData.UsedRange.Cells.Rows.Count;
            int iParstedRow = 0, iCurrSize = 0;
            int iEachSize = 1000;   // each time you
            int iColumnAccount = worksheetData.UsedRange.Cells.Columns.Count;
            int iHead = iRowsIndex;

            if (isHead)
                iHead = iRowsIndex+1;

            DataTable dt = new DataTable();
            for (int i = 1; i <= iColumnAccount; i++)
            {
                if (isHead)
                    dt.Columns.Add(worksheetData.get_Range(worksheetData.Cells[iRowsIndex, i], worksheetData.Cells[iRowsIndex, i]).Text.ToString());
                else
                    dt.Columns.Add("Columns" + i.ToString());
            }

          
            object[,] objVal = new object[iEachSize, iColumnAccount];
            try
            {
                iCurrSize = iEachSize;
                while (iParstedRow < iRowCount)
                {
                    if ((iRowCount - iParstedRow) < iEachSize)
                        iCurrSize = iRowCount - iParstedRow;

                    xlRang = worksheetData.get_Range("A" + ((int)(iParstedRow + iHead)).ToString(), ((char)('A' + iColumnAccount - 1)).ToString()
                        + (((int)(iParstedRow + iCurrSize + 1)).ToString()));

                    objVal = (object[,])xlRang.Value2;

                    int iLength = objVal.Length / iColumnAccount;

                    for (int i = 1; i < iLength; i++)
                    {
                        DataRow dr = dt.NewRow();
                        for (int j = 1; j <= iColumnAccount; j++)
                        {
                            if (objVal[i, j] != null)
                            {
                                dr[j - 1] = objVal[i, j].ToString();
                            }

                        }

                        dt.Rows.Add(dr);
                    }

                    iParstedRow = iParstedRow + iCurrSize;

                }
                System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRang);
                xlRang = null;

            }
            catch (Exception ex)
            {
                appExcel.Quit();
                strErrorMessage = ex.Message;
                return null;
            }

            appExcel.Quit();

            return dt;

        }

Python+Seaborn可视化:双因素方差分析结果这样呈现更专业 本文详细介绍了如何利用Python中的Seaborn和statsmodels库,专业地执行并可视化双因素方差分析结果。通过模拟实验数据,演示了从模型构建、统计检验(包括交互作用分析)到诊断验证的全流程。重点展示了如何使用Seaborn绘制交互效应图、组合分布图及热图,将复杂的统计结果转化为直观、富有洞察力的可视化图表,助力科研论文与商业报告的专业呈现。 阅读详情

相关推荐

从零构建个人知识库:Obsidian与Git实践打造可生长的第二大脑

在信息爆炸的时代,如何有效管理个人知识资产,构建一个可检索、可关联、可生长的个人知识库,成为提升学习效率和创造力的关键。其核心原理在于通过系统化的信息架构与工作流设计,将碎片化信息转化为结构化的知识网络。从技术价值看,这不仅是笔记方法的升级,更是个人知识管理(PKM)和思维模式的革新,能有效对抗信息过载与知识孤岛。实践中,以Obsidian为代表的本地Markdown笔记软件,结合双向链接和关系图谱功能,为知识网络的构建提供了强大支撑;而引入Git进行版本控制,则确保了知识资产的历史可追溯性与安全备份。这种

weixin_28836989的博客 302

datatable 倒入excel

大家好,我有个datatable dt,列20,行2000,用如下方法倒入excel,用时20分钟,可有更好点的方法Excel.Application excel = new Excel.Application ( ) ;excel.Application.Workbooks.Add ( true ) ;for(int n =0;n{   excel.Cells[1,n+1] = dt.Colum

620646的专栏 780

Shell编程规范及变量

文章目录一.Shell脚本1.1Shell概述1.2Shell脚本 一.Shell脚本 1.1Shell概述 Shell是Linux系统中开机自动加载的一个特殊程序,它将用户输入的指令,转换成Linux内核可以识别的语言,从而让内核执行调用硬件。 Bash是Linux系统中默认使用shell的程序,它位于/bin/bash。 1.2Shell脚本 将需要执行的命令保存到一个文件中,按照顺序执行,它不需要编译,它是解释型的 ...

夏颜的博客 3676

excel 与 DataTable 转换

在工作中我们经常要实现 Excel  文件和 DataTable 的转换:首先我们来讨论读取Excel :我以前通过的方式为: string sConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + ExcelFile + ";Extended Properties=Excel 8.0";   O

xiaoguo75131的专栏 1215

别再为GEE注册发愁了!用谷歌Cloud Project,5分钟搞定谷歌地球引擎账户(保姆级图文)

本文提供2024最新版谷歌地球引擎(GEE)账户注册的保姆级教程,通过谷歌Cloud Project快速完成注册,5分钟极速通关。详细解析注册前的准备、分步图解流程、常见误区及解决方案,帮助用户避开90%的注册陷阱,直达GEE核心功能区。

weixin_42557830的博客 200

别再死记硬背了!用Wireshark抓包实战,5分钟搞懂GRE、L2TP、IPsec的区别

本文通过Wireshark抓包实战,详细解析GRE、L2TP和IPsec三大隧道协议的核心差异与应用场景。从报文结构到配置示例,帮助网络工程师快速掌握这些协议的本质,提升VPN部署与故障排查能力。特别适合准备HCIP认证的工程师深化理解。

weixin_30352645的博客 439

详解Excel互操作中处理数据的几个方法(上:读取数据)

概述 介绍使用C#和主互操作程序集从Excel读取数据的几个方法,并且指出使用这些方法的一些细节问题。主互操作程序集使用Microsoft.Office.Interop.Excel,版本12.0.0.0。Range.Value2属性 MSDN:Returns or sets the cell value. Read/write Variant. 实际上Range

自由之路 2382

企业微信消息推送API实战:5步搞定可信IP与域名配置(含Python代码示例)

本文详细解析了企业微信消息推送API实战中的关键配置步骤,特别是可信IP与可信域名的配置流程。通过5个清晰步骤,结合Python代码示例,指导开发者快速完成安全通信链路搭建,避免常见错误,确保消息推送服务稳定可靠。

qsc9012345的博客 996

xlwings通过数字索引(i,j)读取单元格数据的方法

xlwings通过数字索引(i,j)读取单元格数据的方法

weixin_41657202的博客 635

从IMU数据到精准定位:手把手推导ESKF中的四元数运动学与误差状态方程

本文详细介绍了如何从IMU数据推导ESKF中的四元数运动学与误差状态方程,实现精准定位。通过分析误差状态卡尔曼滤波器的优势、四元数表示的必要性,以及IMU测量模型和运动学基础,提供了完整的数学推导和实现要点。适合机器人定位和自动驾驶领域的算法工程师参考,帮助优化导航系统性能。

weixin_30271335的博客 680

第39步 深度学习图像识别:Inception V3建模(Tensorflow)

第39步 深度学习图像识别:Inception V3建模(Tensorflow)

Jet4505的博客 3168

DataTable 与 Excel文件(CSV)相互转化

在一个项目中,需要从Excel文件导入数据然后再datagridview上显示,同时也需要右键datagridview时可以将数据另存为excel文件,于是写了这两个工具方法。本文提供了两个方法用于Excel和DataTable之间相互转化。 1, 从Excel文件、CSV文件导入到DataTable:  public static DataTable csvToDataTable(s...

weixin_33752045的博客 357

ATT MTU 交换机制:提升 BLE 数据传输效率的关键

在低功耗蓝牙(BLE)技术的面试中,ATT MTU 交换机制始终是高频考点。无论是芯片厂商的固件开发岗,还是物联网设备的协议栈调试岗,面试官都爱通过这个知识点考察候选人对 BLE 数据传输底层逻辑的理解。本文将系统梳理核心考点,结合历年真题详解应答思路,轻松应对这类问题。​

byte轻骑兵的技术小窝 2411

C#将Excel数据表导入SQL数据库的两种方法

方法一: 实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。   using System;    using System.Collections.Generic;    using System

ryong1267的博客 5729

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C# 导入Excel

1.参考网址 (1)http://www.oschina.net/code/snippet_156249_4854 (2)http://www.csharpwin.com/dotnetspace/10575r6876.shtml

zoey的专栏 836

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C#实现导入导出Excel数据的两种方法详解

这篇文章主要为大家详细介绍了C#导入导出Excel数据的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文为大家分享了C#导入导出Excel数据的具体代码,供大家参考,具体内容如下注:对于实体类对象最好新建一个并且继承原有实体类,这样可以将类型进行修改;方法一:此种方法是用EPPLUS中的FileInfo流进行读取的(是不是流我还真不太了解,若有懂得请留言,非常感谢了)12345678...

Andrewniu的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Excel导入MS SQL SERVER 操作

关于Excel导入到sql操作的相关问题总结: 一、大批量数据导入 方法1、从Excel大批量数据导入时我们可以使用sql里面有一个batch copy的功能 方法2、在sql中建一个table type结构,在前端将excel读到datatable中,把整个datatable作为存储过程参数传到后台数据库。 举例: c#: public void Import(DataTable...

weixin_33754913的博客 271

C# 导入Excel数据的方式(两种)

方式一、导入数据到数据集对象,只支持Excel的标准格式,即不能合并单元格等等 ///     /// 导入数据到数据集中     /// 备注:此种方法只支持excel原文件     ///     /// 文件路劲     /// 异常信息     ///     public static System.Data.DataTable InputExcel(string

754

mysql导入没有sheet1_将excel中的sheet1导入到sqlserver中

方式一:实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。using System;using System.Collections.Generic;using System.ComponentModel;usi...

weixin_33462540的博客 257

WinForm导入Excel,亲测可用(转载)

Excel导入数据库数据

weixin_55530282的博客 1122

Excel 数据导入到SQL SERVER

#region Import data from excel to SQL. /// <summary> /// Import data from excel to SQL Server, but the difference struct of table . /// </summary> ...

weixin_30820151的博客 153

C#将Excel数据表导入SQL数据库的两种方法(转)

最近用写个winform程序想用excel 文件导入数据库中,网上寻求办法,找到了这个经过尝试可以使用。 方法一: 实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCop...

weixin_34004576的博客 2497

将excel中的sheet1导入到sqlserver中

原文地址:C#将Excel数据表导入SQL数据库的两种方法作者:windream 方式一: 实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。 using System; using Sys...

weixin_33857230的博客 142

QTP学习笔记--Excel数据源

直接读取Excel表格的function摘自此处http://www.51testing.com/html/40/307440-827863.html特此感谢! Excel作为QTP自动化测试的数据源,有两种方式可应用到脚本中 一、导入到DataTable中 1 ImportData("Login") 2 Function ImportData(SheetName) 3...

209
上一篇: Excel导入DataTable(一)
下一篇: substr函数和nvl函数
fisea
博客等级 码龄19年 40粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值