首页 > 其他分享 >导入excel文件

导入excel文件

时间:2024-07-20 15:51:14浏览次数:14  
标签:文件 string .. do excel System 导入 using public

using System;
using System.Windows.Forms;
using System.Text;
using System.Data;
using System.Reflection;
using System.Xml;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.IO.Ports;
using System.Collections;
using System.Collections.Generic;
using System.Data.OleDb;
using System.Data.SqlTypes;
using System.Data.SqlClient;
using System.Drawing;
using System.Text.RegularExpressions;

/* OrBit-Script脚本
 * 作    者:
 * 功能描述:
 * 版 本 号:
 * 发布日期:
 * 最后修改:
 */
namespace ScriptProj
{
    public class OrBitClass
    {

         public string ExcelFileName = "";
        //上传行数
        public string FileCount = "";
        public List<string> nbrs = new List<string>();
        //MessageBox 结果
        public DialogResult dialogResult;
        /// <summary>
        /// MES事务插件接口全局对象,它提供了MES事务对象的所有的接口属性与接口方法
        /// </summary>
        public OrBitScript.OrBitAPI Scripter = new OrBitScript.OrBitAPI();

        /// <summary>
        /// 脚本对象实例化时加载时的方法
        /// </summary>
        public void ScriptLoad()
        {
            //to do..
        }
        
        
        /// <summary>
        /// 脚本在退出前的询问方法
        /// </summary>
        /// <returns>True则退出,False则取消退出</returns>
        public bool ScriptClosing()
        {
            //to do..
            return true;
        }
        
        /// <summary>
        /// MES事务对象在关闭时卸载此脚本对象的方法
        /// </summary>
        public void ScriptUnLoad()
        {
            //to do..
        }

        /// <summary>
        /// Winsocket消息接受方法
        /// </summary>
        /// <param name="MsgString">消息的内容</param>
        public void WinsocketMessage(string MsgString)
        {
            //to do..      
            
        }

        /// <summary>
        /// MES事务插件Tab页选中时的脚本对象执行的方法
        /// </summary>
        public void TabActive()
        {
            //to do..
        }
        
        /// <summary>
        /// 容器中按钮触发时的通用检查前置事件
        /// </summary>
        /// <param name="ButtonName">按钮名</param>
        /// <returns>True表示继续,False表示退回</returns>
        public bool ButtonClickBefore(string ButtonName)
        {
             //to do..
               return true;         
        }
        
        /// <summary>
        /// 容器中按钮通用触发事件
        /// </summary>
        /// <param name="ButtonName">按钮名</param>
        public void ButtonClick(string ButtonName)
        {
            
                if (ButtonName=="ImportData")
            {
                OpenFileDialog ofd=new OpenFileDialog();
                ofd.FilterIndex=1;
                ofd.Filter="文档(*.xls;*.xlsx)|*.xls;*.xlsx";
                dialogResult=ofd.ShowDialog();
                string str=ofd.FileName.ToString();
                ExcelFileName=str.Substring(str.LastIndexOf(@"\"));
                //MessageBox.Show(ExcelFileName);
//                if(dialogResult==DialogResult.OK)
//                {
//                    Scripter.SetParameterValue("FilePath",ofd.FileName);
//                }
                DataSet ds = new DataSet();
                
                try
                {
//                    //填充数据
//                    cmd.Fill(ds);
//                    //关闭连接
//                    conn.Close();
                    
                    ds=xsldata(ofd.FileName);
                    ds.Tables[0].TableName="Table";
                    // Write to xml
                    //ds.WriteXml("D:\\Test.xml");
                    //MessageBox.Show(ds.GetXml());
                    //Scripter.SetParameterValue("test",ds.GetXml());
                    Scripter.SetParameterValue("XMLA",ds.GetXml());
                    
                    
                    //执行储存过程
                    string sql="exec Txn_GX_ImportInspectionDataDoMethod @XMLA='"+ds.GetXml()+"'" ;
                        //MessageBox.Show("AA"+ds.GetXml());
                    Scripter.GetSqlDataSet(sql);
                    //MessageBox.Show("BB"+ds.GetXml());
                    string XMLA = Scripter.GetParameterValue("XMLA");
                    if((!nbrs.Contains(XMLA)) && XMLA != "")
                    {
                        Scripter.RunMethod("LoadXML");    
                        MessageBox.Show("数据导入成功");
                       }
                
                }
                catch
                {
                    return ;
                }
//                
            }
            //to do..
        }
     private DataSet xsldata(string filepath)
        {
            try
            {

                string st = ExcelFileName.Substring(ExcelFileName.LastIndexOf(".") + 1);
                
                string strForRe = "";
                if (st == "xls")
                {
                    strForRe = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "
                    + filepath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";


                }
                else if (st == "xlsx")
                {
                    strForRe = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source= "
                    + filepath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
                }

                OleDbConnection connection =
                new OleDbConnection(strForRe);


                connection.Open();

                string tableName = "";
                DataTable table = connection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
                tableName = table.Rows[0]["Table_Name"].ToString();

                string str2 = "SELECT * FROM [" + tableName + "]";

                OleDbDataAdapter adapter = new OleDbDataAdapter(str2, connection);
                DataSet dataSet = new DataSet();
                adapter.Fill(dataSet, "[" + tableName + "]");
                connection.Close();
                return dataSet;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);

                return null;
            }
        }
        /// <summary>
        /// 容器中按钮触发时的通用检查后置事件
        /// </summary>
        /// <param name="ButtonName">按钮名</param>
        /// <param name="SPResult">存储过程执行的结果值</param>
        /// <param name="SPMessage">存储过程执行的返回消息</param>
        public void ButtonClickAfter(string ButtonName,bool SPResult,string SPMessage)
        {
             //to do..      
        }

        /// <summary>
        /// 容器中网格或下拉列表选中某行时的触发事件
        /// </summary>
        /// <param name="ParameterName">对象参数名</param>
        /// <param name="CellA">选中行第一列的值</param>
        /// <param name="CellB">选中行第二列的值</param>
        public void RowSelected(string ParameterName, string CellA, string CellB)
        {
            //to do..            
        }

        /// <summary>
        /// 容器中可输入控件获取光标焦点后触发的事件
        /// </summary>
        /// <param name="ParameterName">对象参数名</param>
        public void ParameterEnter(string ParameterName)
        {
            //to do..   
        }

        /// <summary>
        /// 容器中可输入控件按回车后触发的事件
        /// </summary>
        /// <param name="ParameterName">对象参数名</param>
        /// <param name="ParameterValue">输入值</param>
        /// <returns>True跳到下一个控件,False表示留在原控件中</returns>
        public bool EnterPressed(string ParameterName, string ParameterValue)
        {
            //to do..
            return true;
        }

    
        /// <summary>
        /// 批号扫描成功后触发的事件
        /// </summary>
        public void LotSNScanned(string LotSN)
        {
            //to do..
        }

        /// <summary>
        /// 动态事务批号传送前触发的事件
        /// </summary>
        /// <returns>True允许执行Move,False终止</returns>
        public bool LotMoveBefore(string LotId)
        {
            //to do..
            return true;
        }    
        
        /// <summary>
        /// 动态事务批号传送后触发的事件
        /// </summary>
        public void LotMoved(string LotId)
        {
            //to do..
        }

        /// <summary>
        /// 复位按钮触发的事件
        /// </summary>
        public void LotReset()
        {
            //to do..
        }            
       
    }
}

标签:文件,string,..,do,excel,System,导入,using,public
From: https://www.cnblogs.com/WearOpenWei/p/18313243

相关文章

  • Python中4种方法实现 xls 文件转 xlsx
    在Python中,可以采用pandas、pyexcel、win32com和xls2xlsx这四个模块,实现xls转xlsx格式。以Excel示例文件test_Excel.xls为例,具体内容如下图所示:1.pandas安装命令pipinstallpandas-ihttps://mirrors.aliyun.com/pypi/simple具体使用方法importpandasas......
  • 用Python将多个excel内容整合成一个excel档
    print("開始!")importosimportpandasaspd设置文件夹路径folder_path='D:\123456'folder_path='D:\1-24714'创建一个空的DataFrame用于存储数据all_data=pd.DataFrame()遍历文件夹中的所有文件forfile_nameinos.listdir(folder_path):iffile_name.ends......
  • 在同一 HAML 文件中定义和使用函数
    我有一个基于haml的轻量级网站,正在使用Middleman构建(不是Rails,但我用Rails标记它,因为我认为Rails的人可能知道答案)。是否可以定义haml文件中的内联函数,然后在同一文件中使用它?(是的,我知道如何使用单独定义的帮助程序文件。这不是问题。)我有一个页......
  • 电子文件如何盖骑缝章?
    电子文件如何盖骑缝章?下面是利用e-章宝(易友EU3000智能盖章软件)盖电子骑缝章的步骤,无需了解什么切片技术:第一步:制作需要盖的电子印章一般是先扫描公章,然后使用e-章宝(易友EU3000智能盖章软件)的一键抠章功能,把印章导入到印章库中待用。如果之前已制作好公章,此步可以忽略......
  • 功能强大的 Excel 插件ASAP Utilities 8.6 for Excel Pro +KEY
    ASAP实用程序是微软Excel程序的一组强大的附加工具和功能。ASAP实用程序专为提高电子表格的工作效率而设计,提供了广泛的功能,可以改善数据处理、分析、格式化等过程。该程序包括300多个有用的工具,允许用户在Excel中节省时间并简化日常任务的执行。它们涵盖了各种工作领域,包括......
  • 掌握Python中的文件序列化:Json和Pickle模块解析
    Python文件操作与管理:Open函数、Json与Pickle、Os模块在Python中,文件是一个重要的数据处理对象。无论是读取数据、保存数据还是进行数据处理,文件操作都是Python编程中不可或缺的一部分。本文将详细介绍Python中文件操作的几种常用方法,包括open函数的使用、数据序列化与反......
  • frp反向代理,ftp文件传输
    一、frp1.概述:frp是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持tcp、udp、http、https等协议,frp官网:https://github.com/fatedier/frp2.frp工作原理:服务端运行,监听一个主端口,等待客户端的连接;客户端连接到服务端的主端口,同时告诉服务端要监听的端口的转发类......
  • IO文件流
    IOIO的基本概念:什么是输入?输入是一个从外界进入程序的方向,通常当我们需要使用读取“外界”的数据时候,使用输入。所以输入是用来读取数据。什么是输出?输出是一个从程序发送到外界的方向,通常当我们需要输出到外界时候,使用输出,所以输出是用来写出数据的。java将IO比作流,就......
  • Windows平台生成dump文件
    目录一.前言二.什么是dump文件三.为什么要生成dump四.修改注册表生成dump五.其他一.前言1.windows下的dump文件包括内核模式dump和用户模式dump两种,本文讨论用户模式dump。2.windows平台下生成用户模式dump有三种方式:用任务管理器手动生成/修改注册表/通过代码注册......
  • Win11系统提示找不到LocationWinPalMisc.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个LocationWinPalMisc.dll文件(挑选合适的版本......