use*_*008 4 c# excel formatting colors
我正在使用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;
}
Run Code Online (Sandbox Code Playgroud)
您需要获取单元格或范围的"内部"对象并在其上设置颜色.
Range cellRange = (Range)wsheet.Cells[rowCount, i];
cellRange.Interior.Color = 255;
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
然后你可以这样做:
cellRange.Interior.Color = ConvertColour(Color.Green);
Run Code Online (Sandbox Code Playgroud)
您可以使用.font属性设置文本的样式:
cellRange.Font.Size = "20";
cellRange.Font.Bold = true;
Run Code Online (Sandbox Code Playgroud)
还有其他属性,如Color,Italic并且Underline你可以用它来得到你所需要的风格.
| 归档时间: |
|
| 查看次数: |
6623 次 |
| 最近记录: |