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

17
我想使用纯HTML在IE中显示嵌入的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表格。网络上有很多链接,但没有找到一个可以直接加载Excel表格的链接。那些可以使用JavaScript生成图表等内容,而不是显示已经存在的Excel表格。

当我尝试通过上述代码加载Excel表格时, 我会得到以下屏幕:

输入图像描述

当我使用IFRAME时,Excel表格未显示为嵌入式文件,而是提示下载或打开。我希望它能够嵌入到Internet Explorer中打开。

非常感谢任何帮助。

谢谢


我很想知道为什么这个问题被标记了三次。 - coolcake
如果我正确理解了你的问题,你只是想将Excel工作表转换为HTML,以便在网站上显示。尝试一下从Excel导出表格到Outlook,使其适用于黑莓,这似乎是一个类似于你的问题。 - Tony Dallimore
1
实际上,它被踩了三次,赞了一次。也许是因为你似乎只是在索要代码,而没有展示出足够的努力?或者是因为你没有解释你发布的代码有什么问题,或者你需要交互性吗?或者是因为当你搜索“在网页上嵌入电子表格”时,第一页的搜索结果已经有几个有用的教程了? - JimmyPena
这可能会有所帮助:http://www.calvert.ch/maurice/2012/01/13/convert-excel-to-html-with-formatting/ - smirkingman
11个回答

4

根据您是否想要自动更新,您可以将Excel电子表格保存为PDF,然后将PDF嵌入对象中 -

看起来您的浏览器没有PDF插件,但是您可以 点击此处下载PDF文件。

这是我找到的最好的上传方式。


1
也许这并不是很有用,因为作者说他想要上传纯HTML格式的文件... - woliveirajr

3

将文件上传到Skydrive,然后右键点击并选择“嵌入”。他们会提供iframe片段,您可以将其粘贴到html中。这样运行得非常顺畅。

来源:Office.com


Not more than 5Mb :( - Ignacio Soler Garcia
它无法运行宏。 - Frank Myat Thu

3

我不希望我的文档被添加到Google文档中以在IE上显示。 - coolcake
这是一种通过HTML发布交互式电子表格的跨浏览器方式。它不依赖于访问者计算机上存在专有软件。 - kingjeffrey
我并不想将这份文档发布到外部世界,而是希望将其发布到企业内部网站上。如果您可以帮我找出标签出了什么问题,而非提供一些无关的解决方案,我将不胜感激。 - coolcake
这可能也不符合您的需求,因为它会依赖于您企业内部网络之外的服务,但这里有一篇微软文章介绍如何将Excel文件发布到Web页面:http://office.microsoft.com/zh-cn/web-apps-help/introduction-to-excel-web-app-HA010378338.aspx - kingjeffrey

1
像你一样,我也无法让微软办公组件正常工作。我不会考虑使用Google Docs,因为Google似乎认为他们拥有通过他们手中的任何东西。我已经尝试了MS Publish Objects,但是生成的html / css的质量真的很糟糕。
将Excel工作表转换为在智能手机上正确显示的HTML的秘诀是创建简洁,精简的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>  

尽可能少使用TABLE-ATTRIBUTES、TABLE-ROW-ATTRIBUTES和TABLE-CELL-ATTRIBUTES。不要以像素为单位设置列宽度。使用CSS属性而不是HTML属性。

值得考虑的一个表格属性是style = "border-collapse: collapse;"。默认值为separate,每个单元格周围都有间隙。使用collapse时,单元格会像Excel一样接触。

值得考虑的三个表格属性是style="background-color:aliceblue;"style="color:#0000FF;"style="text-align:right;"。第一个可以指定背景颜色为五十多种命名的HTML颜色之一。第二个可以指定字体颜色为256*256*256种颜色中的任何一种。第三个可以将数字值右对齐。

以上仅涵盖了从Excel转换为HTML/CSS的格式信息的一小部分。我正在开发一个插件,将尽可能多地转换Excel格式,但我希望以上内容能帮助那些有简单需求的人。


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

1
您可以使用 iPushPull 将实时数据直接从 Excel 会话推送到 Web,然后在 IFRAME 中显示它(或者使用适用的 WordPress 插件)。框架中的数据将在表格更新时更新。

iPush(...) in-cell function 可以将 Excel 中的数据推送到 Web。

此支持页面 描述了如何将 Excel 数据嵌入您的网站。

免责声明 - 我为 iPushPull 工作。


0
请注意,Office Web 组件已经停用,请参见does-office-xp-web-components-compatable-with-windows-7。出于安全原因,自 XP 起,OWC 已被停用。
此后,仅最近,微软推出了 Excel Web 应用程序作为替代方案(在我看来是一个较差的替代方案)。
顺便提一下:微软还废弃了另一种方式,即将 WebBrowser 控件嵌入到 Excel 工作表中,请参见adding-web-browser-control-to-excel-2013。作为替代方案,微软提供了 Office 应用程序(与接口 Excel 和 IE 相比非常有限)。

0
如果你想要创建一个链接 <a href='file.htm'>link name</a> 或者插入一个iframe标签,它将会在网页中显示Excel数据但是无法对其进行更改。
每次在Excel表格中做出更改时,您必须使用相同的名称再次保存以替换文件,并显示结果。 <a> 标签文件名扩展名应为.htm

0

这里,您可以轻松地将Excel表格数据转换为HTML视图


0
也许你可以尝试使用网络发送文件,并使用适当的Content-Type头和以下类似的头部:
Content-Disposition: inline; filename="xxx.xxx"

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

或者只需在谷歌上搜索content-disposition即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接