zoukankan      html  css  js  c++  java
  • [转]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 读取xls文件
    /// <summary>
    /// 读取Excel文件
    /// </summary>
    /// <param name="filepath">文件路径</param>
    /// <param name="filename">文件名称</param>
    /// <returns>DataTable</returns>
    public static DataTable ReadExcel(string filepath, string filename)
    {
    DataTable dt = new DataTable();
    if (filename.Trim().ToUpper().EndsWith("XLS"))
    {
    string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    + filepath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
    string commandText = "select * from [" + filename + "]";

    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 读取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;
    }
    }

  • 相关阅读:
    C++调用web服务(java事例供参考)
    ASP.NET1.1与2.0如何引入MagicAjax (转载自http://hi.baidu.com/zzticzh)
    爱,在世界末日时
    Why Google Chrome is Multiprocess Architecture
    Chrome
    Code Reuse in Google Chrome
    Google V8 JavaScrit 研究(1)
    第一篇文章
    User Experience
    WPF
  • 原文地址:https://www.cnblogs.com/cxy521/p/2024649.html
Copyright © 2011-2022 走看看