C# - Comment copier une feuille de calcul Excel d'un classeur à un autre?

J'ai besoin de copier une feuille de calcul d'un classeur vers un autre et je suis un peu coincé. La prémisse est que j'ai un "maître" classeur qui stocke les modèles pour un certain nombre de rapports et j'ai besoin de créer une copie d'une feuille de calcul spécifique et l'ajouter dans un nouveau classeur.

C'est ce que j'ai à ce jour:

private void CreateNewWorkbook(Tables table)
{
    Excel.Application app = null;
    Excel.Workbook book = null;
    Excel.Worksheet sheet = null;

    try
    {
        string startPath = System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
        string filePath = System.IO.Path.Combine(startPath, "sal1011forms.xls");
        Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog();

        app = new Excel.Application();
        book = app.Workbooks.Open(filePath);
        sheet = (Excel.Worksheet)book.Worksheets.get_Item((int)table + 1);

        sfd.AddExtension = true;
        sfd.FileName = table.ToString() + ".xls";
        sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

        if (sfd.ShowDialog() == true)
        {
            sheet.SaveAs(sfd.FileName);
        }
    }
    finally
    {
        if (book != null)
        {
            book.Close();
        }
        if (app != null)
        {
            app.Quit();
        }
        this.ReleaseObject(sheet);
        this.ReleaseObject(book);
        this.ReleaseObject(app);
    }
}

Le seul problème que je rencontre actuellement, c'est que quand je l'appelle .Save() sur la feuille de calcul, il enregistre TOUTES les feuilles de calcul du classeur d'origine dans un nouveau classeur. Toutes les idées sur la façon de corriger cela?

Merci d'avance,
Sonny

OriginalL'auteur Sonny Boy | 2010-09-27