How can I get data from an outside database (specifically excel).

I want to have a bunch of parts whose position updates according to an excel table. The user can press an update button and the positions, sizes, etc will be read from the latest values in the table.

One way to do it is to save the file in the text XML format. From this it should be easy to read in your data using a standard XML parser (such as the one that comes with C#).

public List<string[]> parseCSV(string path)
{
  List<string[]> parsedData = new List<string[]>();

  try
  {
    using (StreamReader readFile = new StreamReader(path))
    {
      string line;
      string[] row;

      while ((line = readFile.ReadLine()) != null)
      {
        // Handle quoted values or comma-only.
        string splitVar = ( line.indexOf("\",\") > -1 ) ? "\",\"" : "," );
        row = line.Split(splitVar);
        parsedData.Add(row);
      }
    }
  }
  catch (Exception e)
  {
    MessageBox.Show(e.Message);
  }

  return parsedData;
}