Je veux afficher une feuille Excel intégrée à IE avec du HTML simple. J'ai déjà posé d'autres questions sur stackoverflow mais je n'ai trouvé aucune solution utile.
Voici mon fichier html
<html>
<body>
<object width = 900 height = 500 id = "Excel" data="Issues Identified.xlsx" classid = "clsid:0002E55a-0000-0000-C000-000000000046" VIEWASTEXT >
<param name="DisplayTitleBar" value=true />
<param name="DataType" value="CSVURL"/>
<param name="AutoFit" value="0"/>
<param name="DisplayColHeaders" value="1"/>
<param name="DisplayGridlines" value="1"/>
<param name="DisplayHorizontalScrollBar" value="1"/>
<param name="DisplayRowHeaders" value="1"/>
<param name="DisplayTitleBar" value="1"/>
<param name="DisplayToolbar" value="1"/>
<param name="DisplayVerticalScrollBar" value="1"/>
<param name="EnableAutoCalculate" value="0"/>
<param name="EnableEvents" value="0"/>
<param name="MoveAfterReturn" value="1"/>
<param name="MoveAfterReturnDirection" value="0"/>
<param name="RightToLeft" value="0"/>
</object>
</body>
</html>
Malheureusement, je n'ai aucun contrôle sur les fichiers Excel générés. Si j'avais eu le contrôle sur les fichiers Excel, j'aurais pu les enregistrer en tant que pages Web et les inclure dans le navigateur. Maintenant, je doute que de quelque manière que ce soit par le biais du code ci-dessus, je peux incorporer une feuille Excel directement dans le navigateur Web. Il existe de nombreux liens sur le Web, mais pas trouvé qui en charge directement une feuille Excel dans le navigateur. Ceux qui sont là utilisent javascript pour générer des graphiques et tout au lieu d'afficher une feuille Excel qui est déjà présente.
Lorsque j'essaie de charger la feuille Excel via le code ci-dessus. J'obtiens l'écran suivant
Lorsque j'utilise IFRAME, la feuille Excel n'est pas affichée en tant que fichier incorporé mais invite à télécharger ou à ouvrir. Je veux qu'il s'ouvre intégré à Internet Explorer.
Toute aide très appréciée.
Merci
Selon que vous souhaitez qu'il se mette à jour automatiquement ou non, vous pouvez simplement enregistrer la feuille de calcul Excel au format PDF puis incorporer le PDF comme objet -
Il semble que vous ne disposiez pas d'un plug-in PDF pour ce navigateur, mais vous pouvez cliquez ici pour télécharger le fichier PDF.
C'est le meilleur moyen que j'ai trouvé pour le téléchargement.
Vous pouvez le télécharger dans Google Docs et incorporer la feuille de calcul Google comme indiqué ici: http://support.google.com/docs/bin/answer.py?hl=en&answer=55244
Téléchargez votre fichier sur Skydrive, puis faites un clic droit et sélectionnez "Intégrer". Ils fourniront un extrait d'iframe que vous pourrez coller dans votre html. Cela fonctionne parfaitement.
Source: Office.com
Vous pouvez utiliser iPushPull pour transférer des données en direct directement d'une session Excel vers le Web où vous pouvez les afficher dans un IFRAME (ou en utilisant un WordPress, le cas échéant) Les données du cadre sont mises à jour à chaque mise à jour des données de la feuille.
La fonction iPush (...) dans la cellule envoie les données d'Excel vers le Web.
Cette page d'assistance décrit comment intégrer vos données Excel dans votre site Web.
Avertissement - Je travaille pour iPushPull.
Comme vous, je ne parviens pas à faire fonctionner les composants Web MS Office. Je ne considérerais pas Google Docs car Google semble penser qu'ils possèdent tout ce qui passe entre leurs mains. J'ai essayé MS Publish Objects mais la qualité du HTML/CSS généré est vraiment horrible.
Le secret de la conversion d'une feuille de calcul Excel en html qui s'affichera correctement sur un smartphone est de créer du html/css propre et allégé.
La structure du HTML est:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
HEAD
</head>
<body>
BODY
</body>
</html>
Il existe des éléments html utiles qui peuvent remplacer "HEAD" mais je ne sais pas comment vous les généreriez à partir d'une feuille de calcul Excel. Ils devraient être ajoutés séparément.
La sortie évidente pour une feuille de calcul ou une plage est une table html donc ce qui suit suppose que BODY sera remplacé par une table html.
La structure d'une table html est:
<table TABLE-ATTRIBUTES>
<tr TABLE-ROW-ATTRIBUTES>
<td TABLE-CELL-ATTRIBUTES>CELL-VALUE</td>
More <td>...</td> elements as necessary
</tr>
More <tr>...</tr> as necessary
</table>
Incluez le moins possible d'Attributs de Table, d'Attributs de Table et d'Attributs de Cellule de Table. Ne définissez pas la largeur des colonnes en pixels. Utilisez des attributs CSS plutôt que des attributs HTML.
Un attribut de table à considérer est style = "border-collapse: collapse;"
. La valeur par défaut est separate
avec un espace autour de chaque cellule. Avec collapse
, les cellules se touchent comme elles le font avec Excel.
Les trois attributs de table à considérer sont style="background-color:aliceblue;"
, style="color:#0000FF;"
et style="text-align:right;"
. Avec la première, vous pouvez spécifier que la couleur d'arrière-plan doit être l'une des cinquante couleurs html nommées. Avec le second, vous pouvez spécifier que la couleur de la police doit être de 256 * 256 * 256 couleurs. Avec le troisième, vous pouvez aligner à droite les valeurs numériques.
Ce qui précède ne couvre qu'une fraction des informations de mise en forme qui pourraient être converties d'Excel en html/css. Je développe un complément qui convertira autant de mise en forme Excel que possible, mais j'espère que ce qui précède aide toute personne ayant des exigences simples.
Si vous créez un lien <a href='file.htm'>link name</a>
ou placez une balise iframe, elle affichera les données Excel sur le Web mais vous ne pouvez pas les modifier.
Chaque fois que vous apportez des modifications dans la feuille Excel, vous devez enregistrer à nouveau avec le même nom afin qu'il remplace le fichier et affiche le résultat. Le <a>
l'extension du nom du fichier de balises doit être .htm
Office 365 et OneDrive offrent une fonctionnalité d'intégration. Vous pouvez ensuite inclure via IFrame.
J'ai trouvé que le réglage de la hauteur et de la largeur de l'iframe à 100% fonctionne mieux. De cette façon, sur iPad ou tout autre appareil, il s'adapte à l'écran.
<body style="margin:0px;padding:0px;overflow:hidden">
<iframe src="embed url" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:100%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="100%" width="100%"></iframe>
</body>
Vous pourriez peut-être essayer sur le Web d'envoyer le fichier avec l'en-tête Content-Type approprié et avec l'en-tête comme ceci:
Content-Disposition: inline; filename="xxx.xxx"
Voici une discussion sur ces en-têtes: Comment forcer les fichiers à s'ouvrir dans le navigateur au lieu du téléchargement (pdf)?
Ou recherchez simplement sur google pour la disposition du contenu.
de ici vous pouvez facilement convertir vos données de feuille Excel en vue html
Notez que les composants Web Office sont morts, voir does-office-xp-web-components-compatable-with-windows-7 . OWC a été interrompu à partir de XP en avant pour des raisons de sécurité.
Depuis lors, et seulement récemment, Microsoft propose Excel Web App comme alternative (une mauvaise alternative à mon humble avis)
En guise de remarque: Microsoft a également déconseillé l'inverse, c'est-à-dire incorporer le contrôle webbrowser dans une feuille Excel, voir add-web-browser-control-to-Excel-201 . Comme alternative, Microsoft propose Office Apps (une alternative très limitée en ce qui concerne l'interfaçage d'Excel et IE)