当前位置:  开发笔记 > 编程语言 > 正文

使用Excel中的不同颜色突出显示数据在Windows应用程序中使用C#

如何解决《使用Excel中的不同颜色突出显示数据在Windows应用程序中使用C#》经验,为你挑选了1个好方法。

我正在使用Windows应用程序.我需要弄清楚如何在Excel中突出显示不同颜色和样式的数据.我正在使用C#将数据导出到excel.

这是我用于将DataTable导出到Excel的代码,

private void btnExportexcel_Click(object sender, EventArgs e)
{
    oxl = new Excel.Application();
    oxl.Visible = true;
    oxl.DisplayAlerts = false;

    wbook = oxl.Workbooks.Add(Missing.Value);

    wsheet = (Excel.Worksheet)wbook.ActiveSheet;
    wsheet.Name = "Customers";

    DataTable dt = clsobj.convert_datagrid_orderlist_to_datatable(dvgorderlist);

    int rowCount = 1;
    foreach (DataRow dr in dt.Rows)
    {
        rowCount += 1;
        for (int i = 1; i < dt.Columns.Count + 1; i++)
        {
            // Add the header the first time through
            if (rowCount == 2)
            {
                wsheet.Cells[1, i] = dt.Columns[i - 1].ColumnName;
            }
                wsheet.Cells[rowCount, i] = dr[i - 1].ToString();
            }
        }

        range = wsheet.get_Range(wsheet.Cells[1, 1],
        wsheet.Cells[rowCount, dt.Columns.Count]);
        range.EntireColumn.AutoFit();
    }

    wsheet = null;
    range = null;
}

Simon P Stev.. 7

您需要获取单元格或范围的"内部"对象并在其上设置颜色.

Range cellRange = (Range)wsheet.Cells[rowCount, i];
cellRange.Interior.Color = 255;

Excel颜色是整数序列,因此您必须计算所需颜色的值.您可能会发现此方法很有用:

public static int ConvertColour(Color colour)
{
    int r = colour.R;
    int g = colour.G * 256;
    int b = colour.B * 65536;

    return r + g + b;
}

然后你可以这样做:

cellRange.Interior.Color = ConvertColour(Color.Green);

您可以使用.font属性设置文本的样式:

cellRange.Font.Size = "20";
cellRange.Font.Bold = true;

还有其他属性,如Color,Italic并且Underline你可以用它来得到你所需要的风格.



1> Simon P Stev..:

您需要获取单元格或范围的"内部"对象并在其上设置颜色.

Range cellRange = (Range)wsheet.Cells[rowCount, i];
cellRange.Interior.Color = 255;

Excel颜色是整数序列,因此您必须计算所需颜色的值.您可能会发现此方法很有用:

public static int ConvertColour(Color colour)
{
    int r = colour.R;
    int g = colour.G * 256;
    int b = colour.B * 65536;

    return r + g + b;
}

然后你可以这样做:

cellRange.Interior.Color = ConvertColour(Color.Green);

您可以使用.font属性设置文本的样式:

cellRange.Font.Size = "20";
cellRange.Font.Bold = true;

还有其他属性,如Color,Italic并且Underline你可以用它来得到你所需要的风格.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有