J'essaie d'intégrer une parcelle interactive trassement (ou bokeh) à Excel.
Pour ce faire, j'ai essayé les trois choses suivantes:
Comment puis-je incorporer un navigateur dans une forme Excel VBA?
Cela fonctionne et permet de charger HTML en ligne et hors ligne.
'' '
import plotly
import plotly.graph_objects as go
x = [0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]
y = [i**2 for i in x]
fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=x, mode='markers', name="y=x", marker=dict(color='royalblue', size=8)))
fig.add_trace(go.Scatter(x=x, y=y, name="y=x^2", line=dict(width=3)))
plotly.offline.plot(fig, filename='C:/Users/.../pythonProject/test1.html')
.Navigate
à la traçabilité locale.html. Bannière apparaît avec".... restreint ce fichier de montrant un contenu actif pouvant accéder à votre ordinateur"
en cliquant sur la bannière, je rencontre cette erreur:
Le même HTML peut être ouvert dans un navigateur.
Y a-t-il un moyen de montrer des parcelles interactives dans Excel?
Comme mentionné par @jerlich, Excel Blocks JavaScript. Vous devriez essayer la solution de contournement qu'ils liaient si vous voulez une interactivité complète.
Si vous souhaitez au moins un certain degré de contrôlabilité ou d'interactivité, essayez d'utiliser xlwings
. Avec des boutons Excel, vous pouvez toujours avoir une certaine communication entre Excel et Python (y compris la lecture de données et l'envoi de graphiques).
Les limitations sont:
Les parcelles interactives nécessitent JavaScript pour fonctionner. Excel, pour des raisons de sécurité, bloque que JavaScript. Vous pouvez mettre une image statique facilement dans Excel.
Le défi consistant à inclure JavaScript dans Excel a été abordé dans cette question: Comment puis-je utiliser JavaScript dans une macro Excel?