嘿伙计们,我对我的客户想要什么没有明确的定义,但我想我可以进行对话。
所以我的客户想从页面中获取一些 html 并将其转换为 xls 形式。所有数据和内容都来自他们自己的网站/门户网站,他们只需要将报告转换为 xls 以进行会计或其他用途。
哦,是的,我想把它保存在 .NET C# 中...
有人做过吗?有哪些选择?
多谢你们!
正如@Rubens Farias 所说,最简单的方法是只输出一个 html 表,并将 mime-type 设置为 application/vnd.ms-excel 。如果您可以访问现有应用程序,它很容易扩展,否则您必须获取 html 并解析它。
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>
您可以使用 XHR 抓取该外部页面,解析它的 HTML 并使用 content-type = 返回您的数据"application/vnd.ms-excel"
我的公司开发了一个 HTML 到 XLS API,称为 DocRaptor 可以做到这一点。DocRaptor 是一个 Ruby on Rails 项目,但我们使用 HTTP POST 请求来生成文档。我们的文档页面上有一个 C# 示例,您可以在此处查看:
这是我们主页的链接:
您可以突出显示任何表格并将其复制/粘贴到 Excel 中,Excel 应该可以很好地处理转换。
您还可以提供 .CSV 版本的报告。
You can do this with Libreoffice converting the html to xlsx. You can even preserve date formats. I did long ago write this up ... I just re-posted it at http://wjmceachran.com/2020/04/create-excel-files-from-legacy-system-with-libreoffice/