J'ai écrit un script qui crée une feuille Excel complexe qui contient des données provenant de plusieurs sources de données. Les données sur chaque feuille sont généralement de 1 à 5 lignes. Ce serait génial si je pouvais créer une autre feuille qui afficherait les données des autres feuilles en ligne (c'est-à-dire que la feuille de vue d'ensemble devrait changer au fur et à mesure que je change les feuilles de données). J'ai également besoin de mettre en forme les données avec différents styles et de les copier avec la feuille de vue d'ensemble. Enfin, les fiches de données ont des largeurs de colonnes différentes. Je pensais que je pouvais simplement importer les feuilles. Cela fonctionne lorsque j'enregistrer chaque feuille dans un seul fichier et ensuite les importer en tant qu'objets OLE. N'y a-t-il pas moyen d'obtenir le même effet avec un seul fichier? Ce dont j'ai besoin est de dire à Excel "dessiner A1: F3 sur Sheet2 sur Sheet1 dans la cellule A1". "Insérer objet" me propose de créer un document Word ou une présentation PP et de le mettre dans une cellule, mais je ne peux pas créer une nouvelle feuille Excel et la mettre dans une cellule. Ce qui donne?Excel: Comment afficher les données de plusieurs feuilles en une?
Répondre
Un classeur Excel unique peut contenir plusieurs feuilles. Les formules d'une feuille peuvent référencer des cellules d'une autre feuille dans le même classeur.
si vous voulez une construire une solution par vous-même essayer:
http://poi.apache.org/
Apache POI - Java API Pour accéder au format Microsoft Fichiers Il est vraiment facile à utiliser ... et vous pouvez facilement les données de format etc ...
J'ai utilisé POI avec Apache Digester (http://commons.apache.org/digester/)
pour lire des données à partir de fichiers XML et créer des feuilles Excel. [EDIT] Avec cette approche, vous pouvez lire dans la feuille Excel existante, copier les cellules pertinentes entre les feuilles de calcul (y compris le formatage). Cela ne résout cependant pas les "différentes largeurs de colonnes" et la "mise à jour en ligne".
Comme je l'ai dit, j'ai déjà résolu cela. Ce dont j'ai besoin, c'est de dire à Excel "dessine A1: F3 sur Sheet2 sur Sheet1 dans la cellule A1". –
Eh bien ... si vous avez déjà résolu le problème de placer des données dans une feuille Sheet2 ... pourquoi n'est-il pas possible de placer ces données dans Sheet1? Je pense que je ne comprends pas ... sry – bastianneu
Je pense que bastianneu signifiait qu'avec POI vous pouvez lire les données/style/formatage de sheet1 et les placer dans la feuille2. – IAdapter
Vous pouvez référencer d'autres feuilles avec la syntaxe suivante:
SheetName!Cell
donc dans Sheet1, A1 une formule de
=Sheet2!B4
aura une référence en direct à la valeur sheet2 à B4
Comment faire référence à la mise en forme de Sheet2! B4? –
Vous pouvez utiliser la méthode PasteSpecial pour «peindre» la mise en forme des données source dans le nouveau résumé. – Lunatik
Le pinceau de format est un autre outil utile ici. Les formats ne sont pas apportés pour une bonne raison. C'est un moyen de séparer le "modèle" de la "vue" –
Copiez la plage. Déplacez-vous dans la cellule pour laquelle vous souhaitez conserver la référence. Maintenez la touche Maj enfoncée lorsque vous sélectionnez le menu Edition. Notez qu'il y a de nouveaux éléments de menu; "Coller l'image" et "Coller l'image". Vous voulez sélectionner "Coller le lien d'image". Maintenant, chaque fois que la "source" est mise à jour ou que le format change, la "destination" sera mise à jour.
Sub DemoIt()
'open excel and vbe windows side-by-side
' to see results when break points hit
'setup values
Range("A1").Select
ActiveCell.FormulaR1C1 = "A"
Range("A2").Select
ActiveCell.FormulaR1C1 = "B"
Range("A3").Select
ActiveCell.FormulaR1C1 = "C"
'select "source" values and copy
Range("A1:A3").Select
Selection.Copy
'move to "destination"
Range("B1").Select
'paste the "picture link"
ActiveSheet.Pictures.Paste(Link:=True).Select
Application.CutCopyMode = False
'check out results
Stop
'change values
Range("A2").Select
ActiveCell.FormulaR1C1 = "99"
'notice "destination" changed
Stop
'change formatting
Range("A3").Select
Selection.Font.Size = 20
'notice formatting changed
Stop
End Sub
Vous pouvez utiliser des objets de caméra.
- Copiez la plage que vous voulez sur la feuille de couverture
- Aller à la page de couverture
- Maintenez la touche Maj enfoncée et cliquez sur le Modifier Menu
- Cliquez sur le Coller Photo Lien élément de menu
Ceci colle un objet image dynamique qui se met à jour chaque fois que la région correspondante de la feuille de données change.
- 1. Produire plusieurs feuilles de calcul dans Excel en utilisant C#
- 2. Télécharger le fichier Excel contenant plusieurs feuilles
- 3. Automatiser Importation de plusieurs feuilles de calcul Excel dans SQL
- 4. Exporter plusieurs feuilles à Excel via le navigateur
- 5. collationner 500 feuilles Excel dans la base
- 6. télécharger des données de .csv avec plusieurs feuilles de calcul
- 7. Comment créer un fichier Excel avec des feuilles en C#?
- 8. afficher plusieurs données horizontalement
- 9. Accéder à VBA Comment ajouter de nouvelles feuilles à Excel?
- 10. Outil d'importation de feuilles de calcul Excel
- 11. Outil d'importation de feuilles de calcul Excel
- 12. Comment afficher les nombres longs dans Excel?
- 13. Afficher les caractères chinois en AJAX et aussi en excel
- 14. Feuilles protégées dans le service Excel
- 15. XElement: une collection de toutes les feuilles?
- 16. Fusionner plusieurs feuilles de style xslt
- 17. Injection de données par style de fusion et publipostage dans des feuilles de calcul Excel existantes?
- 18. Excel imprimer des feuilles de calcul par nom
- 19. Comment afficher les données de champ varBinary
- 20. Modifier facilement des feuilles de calcul Excel avec le SDK
- 21. Tableaux croisés dynamiques Excel: Comment afficher plusieurs lignes de grand nombre?
- 22. Excel: remplacer les feuilles de calcul des modèles par des classeurs?
- 23. Quelles sont les actions Excel VBA possibles sur les feuilles de calcul ou les classeurs masqués?
- 24. Les cellules ne sont pas nommées dans les feuilles Excel mais les données des cellules doivent toujours être prises
- 25. Comment ignorer les feuilles excel protégées par mot de passe par programme
- 26. Reporting Services - Exporter des données vers Excel en une seule feuille
- 27. Comment imprimer un ensemble de feuilles au format PDF dans Excel 2002?
- 28. Produire des feuilles de calcul Excel plus complexes à l'aide de C#
- 29. Exportation de données de cellules Excel vers une base de données via une macro Excel?
- 30. Comment fusionner plusieurs bases de données en une seule
Cela ne résout pas les problèmes de mise en page. Il n'y a aucun moyen de dire "copier la mise en page + les données de la feuille de cellule, colonne, ligne". De plus, il ne permet pas de cinq la colonne "B" deux largeurs différentes, en fonction de la ligne. –