如何在HTML页面中显示Excel表格

我想用纯HTML显示IE中embedded的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文件,我可以将它们保存为网页并包含在浏览器中。 现在我怀疑是否通过上面的代码,我可以直接在网页浏览器中embeddedExcel表格。 网上有很多链接,但没有find一个直接加载到浏览器的Excel表单。 那些正在使用JavaScript来生成图表,而不是显示已经存在的Excel表单。

当我尝试通过上面的代码加载Excel表。 我得到以下屏幕

在这里输入图像说明

当我使用IFRAME时,excel表格不会显示为embedded文件,而是提示下载或打开。 我想要它打开embedded在Internet Explorer中。

任何帮助非常感谢。

谢谢

根据您是否希望自动更新,您可以将Excel电子表格保存为PDF,然后将PDF作为对象 –

看起来你没有这个浏览器的PDF插件,但你可以点击这里下载PDF文件。

这是我find上传的最佳方式。

您可以将其上传到Google文档,然后embeddedGoogle电子表格,详情请参阅: http : //support.google.com/docs/bin/answer.py? hl = zh-CN& answer = 55244

将您的file upload到Skydrive,然后右键单击并select“embedded”。 他们将提供您可以粘贴在您的HTML的iframe片段。 这工作完美无瑕。

来源: Office.com

像你一样,我无法使MS Office Web Components工作。 我不会考虑谷歌文件,因为谷歌似乎认为他们拥有任何通过他们手中的东西。 我已经尝试过MS发布对象,但生成的HTML / CSS的质量是真的很糟糕。

将Excel工作表转换为可在智能手机上正确显示的html的秘诀是创build干净,精益的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> 

有一些有用的html元素可以代替“HEAD”,但是我不清楚如何从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> 

包括尽可能less的TABLE-ATTRIBUTES,TABLE-ROW-ATTRIBUTES和TABLE-CELL-ATTRIBUTES。 不要以像素为单位设置列宽。 使用CSS属性而不是HTML属性。

值得考虑的表格属性是style = "border-collapse: collapse;" 。 默认情况下,每个单元格周围都有一个间隔。 细胞碰到了,就像在Excel中一样。

值得考虑的三个表格属性是style="background-color:aliceblue;"style="color:#0000FF;"style="text-align:right;" 。 与第一,你可以指定的背景颜色是任何五十左右命名的HTML颜色。 随着第二,你可以指定的字体颜色为256 * 256 * 256的任何颜色。 第三个,你可以正确alignment数值。

上面只涵盖了可以从Excel转换为html / css格式信息的一小部分。 我正在开发一个插件,将尽可能多的Excel格式转换,但我希望上述可以帮助任何人有简单的要求。

您可以使用iPushPull将实时数据直接从Excel会话推送到网页,您可以在IFRAME中显示它(或使用WordPress插件(如果适用))。 只要工作表上的数据更新,框架中的数据就会更新。

iPush(…)内嵌函数将数据从Excel推送到Web。

此支持页面介绍了如何将Excel数据embedded到您的网站中。

免责声明 – 我为iPushPull工作。

亲爱的,如果你正在build立一个链接(一个href ='file.htm')链接名称(/ a)或放置一个iframe标签,它将显示在networking上的Excel数据,但你不能做出改变…每时间,只要你在Excel表格中进行更改,你必须保存同样的名称它将replace文件,并将显示结果。(a)文件名扩展shuld是.htm ….谢谢

请注意,Office Web组件已经死亡,请参阅“与office-xp-web-components-compatable-with-windows-7兼容” 。 由于安全原因,OWC从XP中止。

从那以后,直到最近,微软才推出Excel Web App作为替代(一个糟糕的替代scheme)

作为一个方面的说明:微软也反过来弃用,即embedded到浏览器控制excel工作表,请参阅添加web浏览器控制到excel 2013 。 作为另一种select,微软提供了Office应用程序(关于连接Excel和IE的一个非常有限的select)

从这里你可以很容易地将你的excelsheet数据转换成html视图

Office 365和OneDrive提供embeddedfunction。 然后你可以通过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> 

也许你可能会尝试networking发送文件与适当的内容types标题和像这样的标题:

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

下面是关于这些标题的讨论: 如何强制文件在浏览器中打开而不是下载(pdf)?

或者只是search谷歌的内容处置。

试试这个会工作…

 <iframe src="Tmp.XLS" width="100%" height="500"></iframe> 

但是,您不能保存已完成的更改…仅用于显示目的..