title: C# Best way to read a XLS (XLSX) file and populate a datagrid
body: <p>What is the best (free or paid for) to read Excel files (XLS and XLSX) using C# and populate a datagrid, I would also like to have any changes made in the datagrid be written back to the file.</p>
  
  <p>I should also add that it needs to be high performing as the datagrid can contain a significant number of rows (10,000+).</p>
  
  <p>This would be used for a commercial application so it would need to be distributable.</p>
  
  <p>This is a Windows Forms application.</p>