C# 如何在epplus工作表中附加HTML?

C# 如何在epplus工作表中附加HTML?,c#,asp.net,excel,epplus,C#,Asp.net,Excel,Epplus,我正在使用c#将HTML报告导出到excel中。我正在编写所有的HTML响应(response.Write())以及css,并下载excel及其运行良好。现在我需要将它的HTML部分分离到单独的页面中 我该怎么做?有没有一种方法可以通过ePlus实现 Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.Buffer = true; Response.ContentType = "applicat

我正在使用c#将HTML报告导出到excel中。我正在编写所有的HTML响应(
response.Write()
)以及css,并下载excel及其运行良好。现在我需要将它的HTML部分分离到单独的页面中

我该怎么做?有没有一种方法可以通过ePlus实现

Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer = true;
Response.ContentType = "application/ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=EntryPlanningReport.xls");            
Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
Response.Write("<head><style type='text/css'>" + strBuilder.ToString() + "</style></head>");            
Response.Write("<div id='contentTitle'> Entry Planning Report </div><br />");
Response.Write(ReportSelectionHtml + "<br />"); 
Response.End();  
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer=true;
Response.ContentType=“应用程序/ms excel”;
AddHeader(“内容处置”、“附件;文件名=EntryPlanningReport.xls”);
回答。写(@“);
Write(“+strBuilder.ToString()+”);
响应。编写(“入职计划报告
”); 响应。写入(ReportSelectionHtml+“
”; Response.End();
上面的代码在单页中运行良好,您可以看到我正在注入css文件文本。
对于多张工作表,我将切换到EPPlus,EPPlus是创建Excel文件的一种很好的方法,但也有一些限制

正如您所注意到的,您不能简单地将单元格的值设置为某些HTML代码,并期望在生成的Excel文件中接收格式化文本。EPPlus支持富文本单元格值,但必须使用方法调用来构造这些值,以打开和关闭文本值不同部分的格式设置。应用于整个单元格的格式将单独处理

我编写了一些实用程序,用于将一些非常基本的HTML转换为EPPlus富文本对象,您可以在这里找到它,它可能会有所帮助:

也就是说,根据您上面的评论,您似乎试图将整个表嵌入到单个Excel单元格中。这是不可能的。如果不能在Excel中完成某些操作,则不能在ePlus中完成。如果要在Excel中创建表格,工作表的每个单元格都应与表格中的一个单元格相对应。例如:

ws2.Cells[1, 1].Value = "Brach Name";
ws2.Cells[1, 2].Value = "data";

在单元格上设置颜色和其他样式的方式与设置值的方式类似,您可以参考EPPlus发行版中的许多示例。

在EPPlus中创建新工作表或拆分HTML时,您遇到了哪些问题?感谢您的回复。在像ws2.Cells[1,1]这样的工作表中注入html时,我遇到了一个问题;你能发布一个代码片段来扩展这个吗?有很多原因,它可能不会被添加。工作表可能未绑定到文件。未调用.Save()等。是否引发任何异常?打开文件时,文件是空白还是只填充了一张工作表?它是用最后一组数据填充还是只填充第一组数据?或者一堆空白的表格?我可以通过EPPlus在excel中创建多个表格,其中包含测试数据。我想他只是想把整个HTML保存到excel表格中,你可以这样做,尽管它只是纯文本。虽然这是一个很棒的库,但我自己也可以使用它。是的,我正在尝试将整个HTML保存到excel工作表中。我的要求是将我的报告部分分隔成单独的sheetsHello@richardtallent。指向代码的链接不再有效。你的代码还在哪里吗?谢谢@Markus,我已经更新了一个Github问题的链接,在那里我发布了相同的代码。