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