public static IList<ArrayList> CsvRead()
{
string fileName = string.Empty;
string filePath = string.Empty;
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Title = "CSV";
openFileDialog.Filter = "CSV(*.CSV)|*.CSV|CSV(*.csv)|*.csv";
IList<ArrayList> csvData = new List<ArrayList>();
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
fileName = openFileDialog.SafeFileName;
filePath = openFileDialog.FileName.Replace(fileName, "");
try
{
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=" + filePath + ";Extended Properties='Text;FMT=Delimited(,);HDR=No;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;
//OleDa.FillSchema(dsCsvData, SchemaType.Mapped);
OleDa.Fill(dsCsvData, "Csv");
OleCon.Close();
foreach (DataRow row in dsCsvData.Tables[0].Rows)
{
ArrayList items = new ArrayList();
foreach (object item in row.ItemArray)
{
items.Add(item);
}
csvData.Add(items);
}
}
catch (System.Exception)
{
throw new CsvReadException();
}
}
return csvData;
}