public DataTable ReadCSV(string pathcsv,string FileName)
{
OleDbConnection OleCon = new OleDbConnection();
OleDbCommand OleCmd = new OleDbCommand();
OleDbDataAdapter OleDa = new OleDbDataAdapter();
DataSet dsCsvData = new DataSet();
OleCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathcsv + ";Extended Properties='Text;FMT=Delimited(,);HDR=YES;IMEX=1';";
//OleCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='text;FMT=Fixed;HDR=NO;'";
OleCon.Open();
DataTable dts1 = OleCon.GetSchema("Tables");
DataTable dts2 = OleCon.GetSchema("Columns");
OleCmd.Connection = OleCon;
OleCmd.CommandText = "select * from " + FileName;
OleDa.SelectCommand = OleCmd;
//OleDbDataReader oledr = oleCom.ExecuteReader();
//while (oledr.Read())
//{
// oledr.GetValues(records);//取出一行记录
// try
// {
// redt.Rows.Add(records);
// }
// catch { continue; }
//}
//OleDa.FillSchema(dsCsvData, SchemaType.Mapped);
OleDa.Fill(dsCsvData, "Csv");
OleCon.Close();
return dsCsvData.Tables["Csv"];
}
public void ExportToSvc(System.Data.DataTable dt,string strName,string path)
{
string strPath=path+ strName+".csv";
if (File.Exists(strPath))
{
File.Delete(strPath);
}
//先打印标头
StringBuilder strColu=new StringBuilder();
StringBuilder strValue=new StringBuilder();
int i=0;
try
{
StreamWriter sw = new StreamWriter(new FileStream(strPath, FileMode.CreateNew), Encoding.GetEncoding("GB2312"));
for( i=0;i<=dt.Columns.Count-1;i++)
{
strColu.Append(dt.Columns[i].ColumnName);
strColu.Append(",");
}
strColu.Remove(strColu.Length-1,1);//移出掉最后一个,字符
sw.WriteLine(strColu);
foreach(DataRow dr in dt.Rows)
{
strValue.Remove(0,strValue.Length);//移出
for(i=0;i<=dt.Columns.Count-1;i++)
{
strValue.Append(dr[i].ToString());
strValue.Append(",");
}
strValue.Remove(strValue.Length-1,1);//移出掉最后一个,字符
sw.WriteLine(strValue);
}
sw.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
System.Diagnostics.Process.Start(strPath);
}