2009-07-09 10 views
0

J'ai besoin de produire un programme C# qui créera deux feuilles de travail d'intro, et une troisième feuille de travail qui sera faite à plusieurs reprises pour chaque entrée dans une base de données. Je ne sais pas quel est le meilleur moyen de produire plusieurs feuilles de calcul. Cette dernière feuille doit pouvoir conserver certains noms de formatage et de plage. Est-ce que cette dernière feuille est mieux copiée ou est-ce que vous créez une nouvelle feuille de travail mieux?Produire plusieurs feuilles de calcul dans Excel en utilisant C#

+0

pouvez-vous s'il vous plaît préciser votre question, je peux vous montrer comment créer de nouvelles feuilles de calcul dans Excel en utilisant C# ... –

+0

Merci pour votre réponse, je ne sais comment créer des feuilles de calcul . Ce dont je ne suis pas sûr, c'est, est-il possible de créer une feuille de travail de gabarit avec des plages nommées et de formater déjà fait, puis de la copier x nombre de fois en déposant dans les gammes comme je vais? –

+0

Hmm, commence à se demander si c'est une question de devoirs ou quelque chose ... http://stackoverflow.com/questions/1088539/using-templates-in-excel-with-c/1100985#1100985 – SwDevMan81

Répondre

0

Cela dépend de ce que vous entendez par mieux. S'il est plus facile de commencer avec une table propre pour chaque feuille et de simplement recopier les éléments communs, il est préférable de créer de nouvelles feuilles de calcul.

Vous pouvez également créer une feuille "modèle" temporaire avec les éléments communs déjà présents sur celle-ci et en faire des copies.

Documentation pour la fonction de copie est ici:
http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.worksheet.copy(VS.80).aspx

+0

Merci pour votre réponse , est-il si possible de copier une feuille de travail "modèle" et de conserver les noms de formatage et à distance de l'original ou non? –

0

Merci de votre réponse, est si possible de copier une feuille de calcul « modèle » et de conserver la mise en forme et les noms ont varié forment l'original ou non? - Slapdash Il ya 58 minutes

Oui; c'est possible. Dans la situation que vous décrivez, j'opterais pour l'option de copie.

0

La copie de la troisième feuille de calcul serait la meilleure. En utilisant Microsoft.Office.Interop.Excel.dll, c'est ce que la copie pourrait ressembler (mExcelWorkbook est le classeur de modèle que vous souhaitez modifier):

/// <summary> 
    /// Copy a worksheet to the specified index 
    /// </summary> 
    /// <param name="worksheetIndex"></param> 
    private void CopyWorksheetToIndex(int worksheetIndex, int copyToIndex) 
    { 
    if (mExcelWorkbook != null) 
    { 
     // Reference to the worksheet 
     Worksheet sheet_to_copy = (Worksheet)mExcelWorkbook.Worksheets[worksheetIndex]; 
     // Set the Tab Name to something 
     sheet_to_copy.Name = "Copied From " + worksheetIndex + " To " + copyToIndex; 
     // Copy the worksheet to the end of the worksheets 
     sheet_to_copy.Copy(System.Reflection.Missing.Value, mExcelWorkbook.Worksheets[copyToIndex]); 
    } 
    } 

alors vous pouvez appeler comme ceci:

if (mExcelWorkbook != null) 
    { 
    CopyWorksheetToIndex(3, mExcelWorkbook.Worksheets.Count); 
    } 
1

peut le faire.

Voir la « Feuille de travail avec graphique à plusieurs feuilles de calcul avec graphiques » échantillons sur les échantillons Excel rapports Page here (il y a d'autres échantillons sur cette page qui pourrait se révéler utile).

Vous pouvez télécharger un essai gratuit here.

Disclaimer: Je possède SpreadsheetGear LLC

+0

Vous devriez "Disclaimer" à "Badge of Honor" - nous utilisons SpreadsheetGear et c'est génial. –

+0

C'est très gentil à vous David - bien sûr, je suis juste en train d'essayer de suivre les directives de stackoverflow qui suggèrent d'utiliser "disclaimer" en écrivant sur un produit qui vous intéresse personnellement :) –

Questions connexes