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

  • 相关阅读:
    说说你最欣赏的数据可视化的案例
    手游破解手段介绍及易盾保护方案
    基于开源,强于开源,轻舟微服务解决方案深度解读
    八月暑期福利,10本Python热门书籍免费送!
    Android图片异步加载的方法
    和S5933比较起来,开发PLX9054比较不幸,可能是第一次开发PCI的缘故吧。因为,很多PCI的例子都是对S5933,就连微软出版的《Programming the Microsoft Windows Driver Model》都提供了一个完整的S5933的例子。 在这篇有关DDK的开发论文里。
    VS插件开发——格式化变量定义语句块
    VS2005+WINDDK+Driver Studio 3.2个人总结
    Winsock编程基础介绍 .
    ShareSDK for Android 只有新浪微博分享
  • 原文地址:https://www.cnblogs.com/cxy521/p/2024649.html
Copyright © 2011-2022 走看看