У меня есть следующий код, который импортирует документы Excel и анализирует их, чтобы я мог манипулировать данными до их сохранения в базе данных.Чтение файлов CSV в C#
Я могу разобрать .xlsx и .xls файлы просто отлично, но не могу понять, как использовать существующий код для файлов .csv
клиента я работаю хочет использовать .csv типа файла принимать специальные символы ,
OpenFileDialog opener = new OpenFileDialog();
opener.Filter = "Excel Files| *.xlsx;*.xls;*.csv;";
if (opener.ShowDialog() == DialogResult.Cancel)
return;
FileStream streamer = new FileStream(opener.FileName, FileMode.Open);
IExcelDataReader reader;
if (Path.GetExtension(opener.FileName) == ".xls")
{
reader = ExcelReaderFactory.CreateBinaryReader(streamer);
}
else if (Path.GetExtension(opener.FileName) == ".csv")
{
*** Need Something Here to read CSV Files that will work with
the rest of code***
}
else
{
reader = ExcelReaderFactory.CreateOpenXmlReader(streamer);
}
DataSet results = reader.AsDataSet();
results.Tables[0].Rows[0].Delete();
results.AcceptChanges();
foreach (System.Data.DataTable table in results.Tables)
{
foreach (DataRow dr in table.Rows)
{
>>> Do Something With the Data
}
}
Чтение 'csv' файл, если достаточно просто открыть файл и прочитать его построчно. Что вы подразумеваете под особыми персонажами? – JohnG
JohnG - Это правильная библиотека, но не изначально. Если вы имеете в виду '.Split (',')', это далеко не пуленепробиваемый. Если вы имеете в виду синтаксический анализатор Visual Basic, то это не * действительно * чтение по очереди (могут быть возвраты в поле цитированного CSV и т. Д.). – Hambone