1

我正在尝试在浏览器中显示显示 .xls 文件数据(最好是 ie、ff、chrome 和 safari)作为 Web 内容。

问题是我的计算机中有一个 .xls 文件,我将在其中对 xls 文件中的所有数据进行操作,并希望其中的数据显示在浏览器中,以供其他人查看,就像网页中的内容一样。

我正在用javascript计划这个,有人可以帮我吗?我几乎尝试了所有可能的方法和许多网站上关于这种程序的所有帖子,但没有一个适合我的想法。如果有人让我摆脱这个问题,我真的很感激。

4

4 回答 4

2

您几乎可以肯定必须在服务器端进行这种转换。如果不是不可能的话,客户端 javascript 将会很棘手,因为 XLS 文件不是 HTML,因此不能在其中包含<script>标签来告诉浏览器该做什么。您可以将 XLS 嵌入到 iframe 中,并让 JS 对其进行操作,但 iframe 使用起来可能会很痛苦,并且在 HTML 5 中已被弃用(据我所知)。即使这可以干净地工作,它听起来仍然不像原始文档的客户端处理是一个好主意。

所以第一步是调查你有哪些可用的服务器端技术(例如PHPJSPASP )。第二步是为其中一种技术找到能够打开和读取 XLS 文件的库(不是一项简单的任务)。然后第三步是编写打开您的 XLS 文件所需的代码,提取所需的信息并将其输出为 HTML。(将第三步视为将XLS 输入转换为 HTML 输出可能会有所帮助,这正是您想要做的)。

于 2010-11-10T11:46:56.813 回答
1

将 xls 简单地保存为 Excel 中的 HTML 文档不是一种选择吗?

于 2010-11-10T12:04:55.910 回答
0

我知道的唯一方法是将文件设置为 iframe 标记的文档源,但从版本 5 开始,此元素将从 HTML 中删除。无论如何,您的浏览器必须支持显示这些文档在您的浏览器窗口中。

于 2010-11-10T11:44:50.790 回答
0

这是一个代码片段,如何使用这个出色的 Excel C# 组件在 Excel ASP.NET 应用程序中将 Excel 导入 DataTable:

private void Page_Load(object sender, System.EventArgs e) { var ef = new ExcelFile(); ef.LoadXls(Server.MapPath("../ExcelData.xls"));

// 初始化 DataTable(如果有 DataTable 定义则跳过此步骤) var dt = new DataTable(); dt.Columns.Add("name", typeof(string)); dt.Columns.Add("出生", typeof(DateTime));

var ws = ef.Worksheets[0];

// 提取数据到DataTable ws.ExtractToDataTable(dt, ws.Rows.Count, ExtractDataOptions.StopAtFirstEmptyRow, ws.Rows[0], ws.Columns[0]);

DataGrid1.DataSource = dt.DefaultView; DataGrid1.DataBind(); }

于 2010-11-10T11:47:29.237 回答