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

  • 相关阅读:
    PriorityQueue是个基于优先级堆的极大优先级队列
    【Android游戏开发之四】基础的Android 游戏框架(一个游戏角色在屏幕行走的demo)
    Android示例程序剖析之LunarLander游戏
    java程序员必知的 8大排序
    【Android游戏开发之一】设置全屏以及绘画简单的图形
    嵌套For循环性能优化案例
    Android游戏开发教程之三:View类用法详解
    Ari Zilka谈Ehcache的进程内堆外缓存BigMemory
    如何进行Java EE性能测试与调优
    亲身实践,JAVA最优良的Adapter模式适配器模式
  • 原文地址:https://www.cnblogs.com/cxy521/p/2024649.html
Copyright © 2011-2022 走看看