C#读取Excel的数据,并且以混合模式读取,防止数据类型变更

本文介绍了一种使用ADO.NET从Excel文件中读取数据并转换为DataSet的方法。通过设置连接字符串和SQL命令,可以将Excel的第一张工作表Sheet1的所有内容加载到DataSet中,便于进一步的数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        /// <summary>
        /// Read  Excel  to DataSet
        /// </summary>
        /// <param name="filename"></param>
        /// <returns></returns>
        private static DataSet ExcelToDataSet(string filename)
        {
            DataSet ds;
            //HDR=Yes;IMEX=1   HDR隐藏Excel表头 IMEX是以混合模式读取Excel表格数据,防止改变数据类型
            string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filename + ";" + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";
            System.Data.OleDb.OleDbConnection myConn = new System.Data.OleDb.OleDbConnection(strCon);
            string strCom = " SELECT * FROM [Sheet1$]";
            myConn.Open();
            System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, myConn);
            ds = new DataSet();
            myCommand.Fill(ds);
            myConn.Close();
            return ds;
        }

 

转载于:https://www.cnblogs.com/jesn/p/4351232.html

操作系统win10/11 开发语言:c#(wpf) 硬件设备:西门子plc 二、控制功能模块 1. PID温度控制 设定值输入 范围限制:0~400℃(可配置) 输入异常提示:超限时弹出警告,禁止提交。 2. 延时启停控制 多段定时策略 界面支持表格形式添加/删除时间段(最多支持10段)。 每段参数: 时间设定:支持跨年月日模式,可添加多个时间段(如:2025.3.12日 22:00-2025.3.13日8:00 设定温度100°C,2025.3.13日10:00-2025.3.13日12:00 设定温度80°C,停止时间需晚于启动时间)月日时分秒上位机读取自电脑本地。 目标温度值设定 优先级逻辑: 手动操作 > 延时任务(例:运行中手动停止,则当前延时任务终止,需重新配置)。 新延时任务覆盖未执行的旧任务。 3. 手动操作 按钮设计 "PID启动":立即执行当前温度设定值。 "PID停止":立即终止所有控制(包括延时任务)。控制PID继电器断开加热供电 状态反馈:按钮颜色区分(绿色=运行,红色=停止)。 二、数据采集与监控模块 1. 实时数据显示 PLC状态监控 EMO(急停)、烟雾报警、火灾过温报警:用图标+颜色动态显示(红色=触发,绿色=正常)。 传感器数据 MFC流量(模拟量):显示实时值(单位:L/min,保留2位小数)。 功率计:分3通道显示,精度0.1kwh(单位:KWh,实时刷新)。 PID实际温度:通过RS/485读取,显示当前值和设定值。单位℃ 设置超温等级“警告等级”分为故障/警告/异常三个超温等级 警告等级需设定温度和持续时间两个参数,故障和异常只需要设定温度,达到温度立刻触发。超温温度不得低于目标设定温度。 2. 温度记录仪数据 支持1台混合记录仪,三路共128个点位。 界面分页显示,每页展示32个点位(支持搜索/筛选)。 温度精度0.1℃ 数据异常标红(例:超温、通信中断)。 三、日志记录模块 1. 日志分类 事件类型 故障日志(EMO、过温、通信错误)。 操作日志(启停、参数修改)。 系统日志(软件启动/退出、采样率变更)。 存储格式 时间戳(精确度与采样时间相同) + 事件描述 。 2. 存储策略 按日分文件存储 自动清理:保留最近7天日志(可配置)。 四、曲线分析功能 1. 实时曲线 • 交互设计: o 左侧图例复选框控制曲线显隐 o 时间轴缩放:拖动滑块或输入起止时间(支持“快速选择”如最近1小时) o 数据点悬停显示精确值(时间、温度/能耗/流量) 2. 历史曲线生成 • 参数配置窗口: o 选择数据类型(PID/记录仪/功率/流量) o 设置时间范围(日期选择器 + 时间输入框) o 采样间隔调整(默认1s,可选1s~3600s)可按类分采样频率,对于功率计记录的能耗,MFC流量,PID温度,rcd采样温度,可进行独立的采样间隔设置,对于RCD的128个点位需要可以分为6个区块,如(1-28,29-50等)对于90个PID则要分为3给独立的区块 3. 导出功能 • 图像导出:PNG/SVG格式曲线图,根据选择条件,生成图片(PID温度-时间,RCD温度-时间,流量-时间,能耗-时间) • 数据导出:Excel表格含原始时间序列数据 • 温度/能耗(kwh)/流量数据可手动导出为Excel文件,标题由日期和时段组成,并自动生成按日期生成文件夹,相同日期Excel存放在一个文件夹中。 五、系统配置与扩展 1. 用户权限管理 • 角色分级:工程师(操作)、管理员(参数,系统配置) • 操作审计:敏感操作需二次密码确认(例如三级超温,流量异常设定值)(进行这两个操作的时候,需要再验证一下密码) 2. 性能优化 • 数据压缩:历史数据按小时归档,采用差分存储减少空间占用 • 后台线程:数据采集与界面渲染分离,避免卡顿 六、用户权限与安全管理 登录认证 o 账号密码登录 o 操作审计:记录所有登录尝试和敏感操作(如参数修改)。 2. 操作安全性 断电解锁保护 o 异常断电后恢复时,控制命令需手动重新确认执行。 七、报警与通知机制 1. 实时报警处理 • 报警分级(更改超温报警需要管理员权限,更改时需要二次输入密码) o 一级报警(紧急):火灾、烟雾报警,三级过温;强制弹窗 +声音警报,自动执行急停。 o 二级报警(重要):二级过温;流量超限,闪烁提示并记录,不中断运行。设可设定超温延时报警时间,例:达到220℃10min触发报警; o 三级报警(一般):通信中断、数据异常,一级过温;记录警报内容。 2. 报警通知 • 多通道推送 o 声光报警:现场蜂鸣器+LED指示灯。 o 远程通知:邮件/短信(需配置SMTP/API接口)。 • 报警历史 o 按时间、类型、筛选,支持导出为excel报告 八、数
04-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值