title: Writing Data to an Existing Excel File in C#
body: <p>I want to write data to an existing Excel file, whilst preserving the original data.</p>
  
  <p>The file has sheet1; I want to write on sheet2, then save.
  The problem is that every time I save, it will create a new Excel file and overwrite the existing one. </p>
  
  <p>Could anyone provide any help to keep the old data while saving?</p>
  
  <p>I have the following function</p>
  
  <pre><code>using System.Windows.Forms;
  using Excel = Microsoft.Office.Interop.Excel; 
  
  namespace WindowsApplication1
  {
      public partial class Form1 : Form
      {
          public Form1()
          {
              InitializeComponent();
          }
  
          private void button1_Click(object sender, EventArgs e)
          {
              Excel.Application xlApp ;
              Excel.Workbook xlWorkBook ;
              Excel.Worksheet xlWorkSheet ;
              object misValue = System.Reflection.Missing.Value;
  
              xlApp = new Excel.ApplicationClass();
              xlWorkBook = xlApp.Workbooks.Open("csharp.net-informations.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
              xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
  
              MessageBox.Show(xlWorkSheet.get_Range("A1","A1").Value2.ToString());
  
              xlWorkBook.Close(true, misValue, misValue);
              xlApp.Quit();
  
              releaseObject(xlWorkSheet);
              releaseObject(xlWorkBook);
              releaseObject(xlApp);
          }
  
          private void releaseObject(object obj)
          {
              try
              {
                  System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                  obj = null;
              }
              catch (Exception ex)
              {
                  obj = null;
                  MessageBox.Show("Unable to release the Object " + ex.ToString());
              }
              finally
              {
                  GC.Collect();
              }
          } 
      }
  }
  </code></pre>