C# 向单元格添加注释

C# 向单元格添加注释,c#,excel,oledb,C#,Excel,Oledb,我必须在现有Excel文件中插入注释, 使用OleDb连接 这是我的插入方法,如何将Excel注释添加到特定单元格 private static string BuildInsertCommand(DataTable dataTable, int rowIndex) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("INSERT INTO [{0}$](", BuildExcelSheetName(dataTab

我必须在现有Excel文件中插入注释, 使用OleDb连接

这是我的插入方法,如何将Excel注释添加到特定单元格

private static string BuildInsertCommand(DataTable dataTable, int rowIndex)
{
    StringBuilder sb = new StringBuilder();
    sb.AppendFormat("INSERT INTO [{0}$](", BuildExcelSheetName(dataTable));
    for (int i = 0; i < dataTable.Columns.Count; i++)
        sb.Append("F"+(i+1)+",");
    sb = sb.Replace(',', ')', sb.ToString().LastIndexOf(','), 1);
    sb.Append("VALUES (");
    foreach (DataColumn col in dataTable.Columns)
    {
        string type = col.DataType.ToString();
        string strToInsert = String.Empty;
        strToInsert = dataTable.Rows[rowIndex][col].ToString().Replace("'", "''");
        sb.AppendFormat("'{0}',", strToInsert);
    }
    sb = sb.Replace(',', ')', sb.ToString().LastIndexOf(','), 1);
    return sb.ToString();
}
私有静态字符串BuildInsertCommand(DataTable DataTable,int rowIndex)
{
StringBuilder sb=新的StringBuilder();
sb.AppendFormat(“插入[{0}$]”(“,BuildExcelSheetName(dataTable));
对于(int i=0;i
遗憾的是,您无法使用OLEDB向单元格添加注释。您只能使用Excel互操作。顺便提一下,我建议您研究OLE命令参数,而不是以这种方式构建SQL语句。感谢您的快速answare!我在一些帖子中读到我可以使用EPPlus或ExcelLibrary,但我的问题是,是否可以使用这些外部库并在不依赖服务器安装的情况下发布MVC应用程序?EPPlus不需要Excel。我认为这是它的主要优点之一。它的功能非常类似于互操作,只是没有COM依赖项。好吧,那么NOPI呢?你的问题已经变成了“我应该使用哪个库”,这是一个离题的话题。如果您想知道NPOI是否支持添加评论,请阅读其文档或在其董事会上提问。