使用Aspose.Cells在Excel中的Comment中设置html

时间:2018-07-02 11:27:36

标签: c# .net asp.net-mvc excel aspose-cells

我正在n使用excel导出Aspose.Cells。为此,我需要在特定列中显示一些HTML格式的注释。但是,当我使用HTML字符串在注释中设置注释时,它将自动修改该HTML。我正在使用以下代码

Workbook workbook = GetExcelWorkbook<AuditLogExport>(auditLogExportData, templatePath);
        CommentCollection comments = workbook.Worksheets[0].Comments;
        for (int i = 0; i < exportData.Count; i++)
        {
            if (exportData[i].IsDetailedChange)
            {
                int commentIndex = comments.Add(string.Format("E{0}", (i + 2)));
                Aspose.Cells.Comment comment = comments[commentIndex];
                **comment.HtmlNote = GetAuditLogCommentNote(exportData[i]);**
                comment.WidthCM = 8.0;
                comment.HeightCM = 20.0;
            }
        }


public static string GetAuditLogCommentNote(AuditLog auditLog)
    {
        string note = string.Empty;
        note = "<table width='400px' style='border:solid 1px black'><tr><th>Changed Field</th><th>Previous</th><th>Current</th></tr>";
        foreach (var history in auditLog.DetailChanges)
        {
            note += string.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>", history.FieldName, history.FirstChange, history.LastChange);
        }
        note += "</table>";

        return note;
    }

当我为注释的HtmlNote属性赋值时,它会自动使用字体标签更改html,并从字符串中删除所有表格标签。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

Update-1

好吧,我们认为,使用Microsoft Excel无法满足您的要求。如果Microsoft Excel无法完成某些任务,那么Aspose.Cells或任何其他API也将无法自动实现。

请参见以下屏幕截图。它显示了在Web浏览器中查看HTML以及将其复制/粘贴到Excel注释时的HTML外观。

enter image description here

如果您认为可以使用Microsoft Excel完成您的要求,请向我们提供您使用Microsoft Excel手动创建的示例Excel文件。我们将对其进行检查并进一步调查此问题。


Update-2

我们使用以下代码测试了此问题,发现如果我们尝试使用 HtmlNote 属性创建评论,则它将无法正常工作。

我们已将此问题记录在我们的数据库中,以进行调查和修复。问题解决后,我们将在这篇文章中为您更新。

此问题已记录为

  • CELLSNET-46210 -使用HtmlNote属性创建评论不起作用

C#

Workbook wb = new Workbook();

Worksheet ws = wb.Worksheets[0];

int idx = ws.Comments.Add("E4");
Comment cm = ws.Comments[idx];
//cm.HtmlNote = "<Font Style=\"FONT-WEIGHT: bold;FONT-FAMILY: Tahoma;FONT-SIZE: 9pt;COLOR: #000000;TEXT-ALIGN: left;\">Heading: </Font><Font Style=\"FONT-FAMILY: Tahoma;FONT-SIZE: 9pt;COLOR: #000000;TEXT-ALIGN: left;\">This is some para. </Font><Font Style=\"FONT-WEIGHT: bold;FONT-FAMILY: Tahoma;FONT-SIZE: 9pt;COLOR: #000000;TEXT-ALIGN: left;\">Heading2:</Font><Font Style=\"FONT-FAMILY: Tahoma;FONT-SIZE: 9pt;COLOR: #000000;TEXT-ALIGN: left;\"> This is some para2.</Font>";
cm.HtmlNote = new Workbook("input.xlsx").Worksheets[0].Comments[0].HtmlNote;
cm.IsVisible = true;

wb.Save("output.xlsx");

更新3

您登录为 CELLSNET-46210 的问题已在Aspose.Cells for .NET v18.7中修复。请从此链接下载它。

  

https://www.nuget.org/packages/Aspose.Cells/18.7.0


注意: 我正在Aspose担任开发者倡导者