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

  • 相关阅读:
    selenium 操作过程中,元素标红高亮的两种实现方式
    python pytest测试框架介绍五---日志实时输出
    pytest 3.9在python 2.7下的一个bug
    Qt assis tant 帮助集合文档 -由.qhcp生成.qhc
    Qt assistant .qch显示乱码问题
    qhelpgenerator 由qhp生成qch过程碰到的问题 记录
    Qt creator新建widget项目....no valid kits found.....
    Qt creator 账号
    Qt 写Excel
    Qt获取主窗口
  • 原文地址:https://www.cnblogs.com/cxy521/p/2024649.html
Copyright © 2011-2022 走看看