• C#读取CSV,Excel,Txt文件,删除文件,拷贝文件



        #region 读取csv文件

        /// <summary>

        /// 读取CVS文件

        /// </summary>

        /// <param name="path">文件路径</param>

        /// <param name="name">文件名称</param>

        /// <returns>DataTable</returns>

        public static DataTable ReadCVS(string filepath, string filename) 

       {

            //string cvsDir = filepath;//要读取的CVS路径

            DataTable dt = new DataTable();

            if (filename.Trim().ToUpper().EndsWith("CSV"))//判断所要读取的扩展名

            {

                string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="

                    + filepath + ";Extended Properties='text;HDR=NO;FMT=Delimited'";//有列的读取

                string commandText = "select * from [" + filename + "]";//SQL语句
                OleDbConnection olconn = new OleDbConnection(connStr);

                olconn.Open();

                OleDbDataAdapter odp = new OleDbDataAdapter(commandText, olconn);

                odp.Fill(dt);

                olconn.Close();

                odp.Dispose();

                olconn.Dispose();

            }

            return dt;

        }

        #endregion

     #region 读取Excel文件    

    /// <summary>    

    /// 读取Excel文件   

    /// </summary>    

    /// <param name="filepath">文件路径</param>    

    /// <param name="filename">文件名称</param>    

    /// <returns>DataTable</returns>    

    public static DataTable ReadExcel(string filepath, string filename)

    {

            System.Data.DataSet itemDS = new DataSet();

            if (filename.Trim().ToUpper().EndsWith("XLS") || filename.Trim().ToUpper().EndsWith("XLSX"))

            {

                string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + filename + ";Extended Properties=\"Excel 12.0;HdR=NO;\"";

                System.Data.OleDb.OleDbConnection conn = null; 

               System.Data.OleDb.OleDbCommand oledbCommd = null;

                try

                { 

                   conn = new System.Data.OleDb.OleDbConnection();

                    conn.ConnectionString = connStr;

                    conn.Open();

                    DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

                    //判断连接Excel sheet名

                    for (int i = 0; i < dt.Rows.Count; i++)

                    {

                        DataRow dr = dt.Rows[i];

                        string sqlText = "select * from [" + dr["TABLE_NAME"] + "]";
                        oledbCommd = new System.Data.OleDb.OleDbCommand(sqlText, conn);

                        oledbCommd.CommandTimeout = 100000;

                        //执行

                        System.Data.OleDb.OleDbDataAdapter oledbDA = new System.Data.OleDb.OleDbDataAdapter(oledbCommd);
                        oledbDA.Fill(itemDS);

                    }

                }

                catch

                {            }

                finally

                {

                    //释放

                    oledbCommd.Dispose();

                    conn.Close();

                }

                //创建连接
            } 

           return itemDS.Tables[0];

     } 

       #endregion

    #region 读取txt文件
    /// <summary>
    /// 读取Txt文本文件
    /// </summary>
    /// <param name="filepath">文件路径</param>
    /// <param name="filename">文件名称</param>
    /// <returns>文本信息</returns>
    public static string ReadTxt(string filepath, string filename)
    {
      StringBuilder sb = new StringBuilder("");
      //StreamReader sr = new StreamReader(filepath + filename); ;
      StreamReader sr = new StreamReader(filepath + filename, Encoding.GetEncoding("GB2312"));
      string line;
      while ((line = sr.ReadLine()) != null)
      {
          sb.AppendLine(line);
      }
      sr.Close();
      sr.Dispose();
      return sb.ToString();
    }
    #endregion

    #endregion

    #region 文件删除
    /// <summary>
    /// 删除文件操作
    /// </summary>
    /// <param name="filePath">文件路径</param>
    /// <param name="fileName">文件名称</param>
    public static void DeleteFile(string filePath, string fileName)
    {
      string destinationFile = filePath + fileName;
      //如果文件存在,删除文件
      if (File.Exists(destinationFile))
      {
        FileInfo fi = new FileInfo(destinationFile);
        if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
          fi.Attributes = FileAttributes.Normal;

        File.Delete(destinationFile);
      }
    }
    #endregion

    /// <summary>
    /// 拷贝文件
    /// </summary>
    /// <param name="fromFilePath">文件的路径</param>
    /// <param name="toFilePath">文件要拷贝到的路径</param>
    private bool CopyFile(string fromFilePath, string toFilePath)
    {
      try
      {
        if (File.Exists(fromFilePath))
        {
          if (File.Exists(toFilePath))
          {
            File.Delete(toFilePath);
          }
          File.Move(fromFilePath, toFilePath);
          return true;
        }
      return false;
      }
      catch 
      {
        return false;
      }
    }

  • 相关阅读:
    Pycharm2019.1.2安装详解
    下载及安装Python详细步骤
    ClientDataSet中撤消与恢复操作及执行细节
    Delphi KeyPress KeyDown时Key的值
    fastReport动态传参【含图片】
    Delphi静态和动态调用dll的实例
    关于SPC系统
    SQL Server 占用内存太高,查找占用内存高以及影响其性能的sql语句
    SqlServer 资源占用情况[简易]
    Sqlserver DMV诊断和调优DB性能
  • 原文地址:https://www.cnblogs.com/zhuzhiyuan/p/2024495.html
Copyright © 2020-2023  润新知