web-dev-qa-db-ja.com

htmlページでExcelシートを表示する方法

IEにプレーンHTMLを埋め込んだExcelシートを表示したい。stackoverflowに関する他の質問を行ったが、役に立つ質問は見つかりませんでした。

これが私の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>

残念ながら、生成されるExcelファイルを制御することはできません。 Excelファイルを制御できる場合は、それらをWebページとして保存し、ブラウザーに含めることもできます。今、私は上記のコードを介してExcelシートをWebブラウザに直接埋め込むことができるかどうか疑問に思っています。 Webには多くのリンクがありますが、ブラウザーにExcelシートを直接ロードするリンクは見つかりません。そこにあるものは、すでに存在するExcelシートを表示する代わりに、javascriptを使用してグラフを生成しています。

上記のコードでExcelシートをロードしようとすると。次の画面が表示されます

enter image description here

IFRAMEを使用すると、Excelシートが埋め込みファイルとして表示されず、ダウンロードまたは開くように求められます。 Internet Explorerに埋め込まれて開いてほしい。

助けていただければ幸いです。

ありがとう

14
coolcake

自動的に更新するかどうかに応じて、ExcelスプレッドシートをPDFとして保存し、PDFをオブジェクトとして埋め込むことができます-

このブラウザのPDFプラグインはないようですが、ここをクリックして PDFファイルをダウンロードできます。

これは、アップロードのために見つけた最良の方法です。

4
iotapaw

これをGoogleドキュメントにアップロードして、Googleスプレッドシートを次のように埋め込みます: http://support.google.com/docs/bin/answer.py?hl=ja&answer=55244

3
kingjeffrey

ファイルをSkydriveにアップロードし、右クリックして[埋め込み]を選択します。 HTMLに貼り付けることができるiframeスニペットが提供されます。これは問題なく機能します。

ソース: Office.com

2
erfan

iPushPull を使用して、ライブデータをExcelセッションからWebに直接プッシュし、IFRAMEで表示できます(または、該当する場合はWordPressプラグインを使用) 。フレーム内のデータは、シート上のデータが更新されるたびに更新されます。

iPush(...)セル内関数 は、ExcelからWebにデータをプッシュします。

このサポートページ は、WebサイトにExcelデータを埋め込む方法を説明しています。

免責事項-私はiPushPullで働いています。

あなたのように、私はMS Office Webコンポーネントを動作させることができません。 Googleは自分の手に渡ったものは何でも所有しているとGoogleが考えているように見えるので、Google Docsは検討しません。 MS Publish Objectsを試しましたが、生成されたhtml/cssの品質は本当にひどいです。

Excelワークシートをスマートフォンに正しく表示するhtmlに変換する秘secretは、クリーンで無駄のないhtml/cssを作成することです。

HTMLの構造は次のとおりです。

<!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>

「HEAD」を置き換えることができる便利なhtml要素がありますが、Excelワークシートからそれらをどのように生成するかは明確ではありません。それらは個別に追加する必要があります。

ワークシートまたは範囲の明らかな出力はhtmlテーブルであるため、以下ではBODYがhtmlテーブルに置き換えられることを想定しています。

Htmlテーブルの構造は次のとおりです。

<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>  

TABLE-ATTRIBUTES、TABLE-ROW-ATTRIBUTES、およびTABLE-CELL-ATTRIBUTESをできるだけ少なくします。列幅をピクセル単位で設定しないでください。 html属性ではなくcss属性を使用します。

考慮に値するテーブル属性はstyle = "border-collapse: collapse;"。デフォルトはseparateで、各セルの周りにギャップがあります。 collapseを使用すると、Excelと同様にセルが接触します。

考慮に値する3つのテーブル属性はstyle="background-color:aliceblue;"style="color:#0000FF;"およびstyle="text-align:right;"。最初の方法では、背景色を50個程度の名前のhtmlカラーのいずれかに指定できます。 2番目の方法では、フォントの色を256 * 256 * 256色のいずれかに指定できます。 3番目では、数値を右揃えできます。

上記は、Excelからhtml/cssに変換できるフォーマット情報の一部のみをカバーしています。できるだけ多くのExcel書式設定を変換するアドインを開発していますが、上記が簡単な要件を持つ人に役立つことを願っています。

1
Tony Dallimore

リンクを作成している場合<a href='file.htm'>link name</a>またはiframeタグを配置すると、ウェブ上のExcelデータが表示されますが、変更することはできません。

Excelシートに変更を加えるたびに、同じ名前で再度保存する必要があるため、ファイルが置き換えられ、結果が表示されます。 <a>タグのファイル名拡張子は.htm

0
abid khan

Office 365とOneDriveは埋め込み機能を提供します。その後、IFrame経由で含めることができます。

Iframeの高さと幅を100%に設定すると最適に機能することがわかりました。 iPadやその他のデバイスでは、その方法で画面に収まります。

<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>
0
Tom

適切なContent-Typeヘッダーと次のようなヘッダーを使用してファイルを送信するために、Webを試すことができます。

Content-Disposition: inline; filename="xxx.xxx"

これらのヘッダーに関する説明は次のとおりです。 ダウンロードではなくブラウザでファイルを強制的に開く方法(pdf)?

または、Googleでcontent-dispositionを検索してください。

0
Szundi

from here ExcelシートのデータをHTMLビューに簡単に変換できます

0
user3400333

Office Webコンポーネントは死んでいることに注意してください。 does-office-xp-web-components-compatable-with-windows-7 を参照してください。 OWCは、セキュリティ上の理由からXP以降は廃止されました。

それ以来、ごく最近になって、MicrosoftはExcel Web Appを代替手段として推し進めています(貧弱な代替手段IMHO)

副次的な注意事項として:Microsoftは、逆の方法、つまりwebbrowserコントロールをExcelシートに埋め込むことも廃止しました。 adding-web-browser-control-to-Excel-201 を参照してください。代替として、MicrosoftはOfficeアプリを提供します(ExcelとIEのインターフェイスに関しては非常に限られた代替)

0
Wolfgang Kuehn