2009-12-28 89 views
0

嗨,我没有明确定义客户的需求,但我想我可以开始对话。从网页将HTML转换为XLS

所以我的客户希望从页面中取出一些html并将其转换为xls形式。所有的数据和内容来自他们自己的网站/门户网站,他们只需要将报告转换为xls进行会计或其他事情。

噢,我还想记住这.NET C#请...

,有没有人这样做呢?有什么选择?

谢谢你们!

+0

你可能要问你的客户端从Web页面生成的数据。可能已经有一个数据库了? – 2009-12-28 16:03:21

+0

数据来自MS SQL数据库,我希望功能被自动化,如“点击这里”,然后得到提示。 – sia 2009-12-28 16:08:52

+0

因此,使用与HTML前端中使用的查询相同的查询(而不是先生成HTML然后再解析HTML),直接连接到Excel中的MS-SQL数据库可能会容易得多。 – 2009-12-28 16:12:32

回答

0

您可以突出显示任何表格并将其复制/粘贴到Excel中,Excel应该很好地处理转换。

您还可以提供.CSV版本的报告。

2

你可以抓住,通过使用XHR外部网页,解析它的HTML,并与内容类型返回数据= "application/vnd.ms-excel"

+0

,我得到内容类型,但是从数据网格中获取来自数据库的数据的过程是什么,然后创建一个包含xls文件中相应数据的下载。 – sia 2009-12-28 16:11:12

+0

对不起,我以为数据来自远程网络服务器;由于您可以访问数据库,因此只需将数据网格渲染到页面中并使用适当的内容类型进行下载即可。看看这里:http://www.c-sharpcorner.com/UploadFile/DipalChoksi/ExportASPNetDataGridToExcel11222005041447AM/ExportASPNetDataGridToExcel.aspx – 2009-12-28 16:19:45

+0

哈哈哈感谢您的链接,我实际上是在看我之前,我读你的评论和保存链接... 。 – sia 2009-12-28 16:42:52

2

最简单的方法是只输出HTML表格,并设置MIME类型应用程序/ vnd.ms-excel作为@Rubens Farias说。如果您有权访问现有的应用程序,则很容易扩展,否则您必须获取并解析它。

Excel可以解析HTML表没有问题,即使格式化:

<html> 
    <body> 
     <table border="1"> 
     <tr> 
      <td style="background-color: red">Content in cell</td> 
      <td>Cell 2</td> 
     </tr> 
     </table> 
    </body> 
</html> 
0

我公司开发的HTML到XLS API叫做DocRaptor可以做到这一点。 DocRaptor是一个Ruby on Rails项目,但我们使用HTTP POST请求来生成文档。我们已经有了一个C#示例我们的文档页面,你可以在这里看到的:

DocRaptor C# example

这里是一个链接到我们的主页:

HTML to Excel with DocRaptor