Форум.ExcelDataReader - для чего используется раздел методов чтения данных?
Referencing: https://github.com/ExcelDataReader/ExcelDataReader
C# code :
FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
//1. Reading from a binary Excel file ('97-2003 format; *.xls)
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
//2. Reading from a OpenXml Excel file (2007 format; *.xlsx)
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
//3. DataSet - The result of each spreadsheet will be created in the result.Tables
DataSet result = excelReader.AsDataSet();
//4. DataSet - Create column names from first row
excelReader.IsFirstRowAsColumnNames = true;
DataSet result = excelReader.AsDataSet();
//5. Data Reader methods
while (excelReader.Read())
{
//excelReader.GetInt32(0);
}
//6. Free resources (IExcelDataReader is IDisposable)
excelReader.Close();
Мой код:
private void dataGridView1_DragDrop(object sender, DragEventArgs e)
{
Debug.WriteLine("OnDragDrop");
if (validData)
{
try
{
FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
//1. Reading from a binary Excel file ('97-2003 format; *.xls)
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
//2. DataSet - The result of each spreadsheet will be created in the result.Tables
excelReader.IsFirstRowAsColumnNames = true;
DataSet result = excelReader.AsDataSet();
//3. Data Reader methods
while (excelReader.Read())
{
//excelReader.GetInt32(0);
}
dataGridView1.DataSource = result.Tables[0];
//6. Free resources (IExcelDataReader is IDisposable)
excelReader.Close();
createEmployees(result);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
Мой вопрос, что раздел 'Методы чтения данных' используется?
Моя первоначальная мысль заключалась в том, что это было для преобразования данных до того, как они были прочитаны в DataSet. После перехода через код я вижу, что результат DataSet уже установлен на шаге 3/4 и, таким образом, не происходит никакого преобразования или массирования данных. Учитывая это, я не уверен, для чего служит код excelReader.Read().
Похоже, что они имели в виду 3, 4 * или * 5 вместо 3, 4 * и * 5. То же самое касается шагов 1 и 2, вы не можете использовать оба для одного и того же файла. –
@PieterWitvoet Спасибо, что имеет больше смысла. В документации не было ясно. – HappyCoding