使用xslt从excel输出表

时间:2010-01-29 08:59:04

标签: c# excel xslt umbraco

我想将表格输出到网页。该表存储在excel表(xls)中。

是否可以使用xslt?该表是此范围内的单元格: A26 - P36(16列11行)

如果需要exmaple文件,请链接: http://finans.opengate.dk/media/6704/2010-01-13.xls

更新:上传每日文件。我想使用xslt自动显示最新xls文件中的表格。如果需要一些C#来将它从excel转换为其他东西(XML?),这很好。它是在CMS Umbraco中完成的,这就是我希望使用XSLT的原因,因为这是通过xslt makroes在Umbraco中显示内容的方式。

BR。安德斯

更新答案(基于以下答案):不,不可能使用xslt读取xls文件。如果需要,那么必须以另一种格式xml或html保存excel表。或者需要一种真正的编程语言来读取excel文件。

3 个答案:

答案 0 :(得分:1)

XSLT主要用于将XML从一种方言转换为另一种方言,而不是将xls文件转换为html。

如果您只是想手动执行此操作,可以将工作表直接保存为excel中的HTML。

您的问题不清楚是否要以编程方式执行此操作,如果是,请使用何种编程语言。

答案 1 :(得分:0)

您可以使用ADO.net访问Excel文件中的单元格,类似于数据库查询。这比尝试使用Excel自动化对象要轻一些。

http://support.microsoft.com/kb/316934

答案 2 :(得分:0)

SpreadsheetGear for .NET可以读取Excel文件并在DataGrid中显示它们,如this page上的 Excel to DataGrid 示例所示:

    // Create a workbook from an Excel file
    String ssFile = Server.MapPath("files/spiceorder.xls");
    SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(ssFile);
    // Get a DataSet from an existing defined name
    DataSet dataSet = workbook.GetDataSet("orderrange", SpreadsheetGear.Data.GetDataFlags.FormattedText);
    // Bind a DataGrid to the DataSet
    DataGrid1.DataSource = dataSet;
    DataGrid1.DataBind();

SpreadsheetGear还可以从单元格范围或图表中渲染png / gif / jpg图像,如演示here

如果您想亲自试用,可以下载免费试用here

免责声明:我拥有SpreadsheetGear LLC