Datagridview 导出 Excel 颜色格式一致
时间: 2023-12-20 08:48:08 浏览: 26
的问题应该怎么解决?
你可以使用以下代码来实现 Datagridview 导出 Excel 颜色格式一致:
```
//创建Excel对象
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)excel.ActiveSheet;
//将 Datagridview 内容复制到 Excel 中
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
worksheet.Cells[i + 1, j + 1] = dataGridView1[j, i].Value.ToString();
if (dataGridView1[j, i].Style.BackColor.Name != "0")
{
Color coloris = dataGridView1[j, i].Style.BackColor;
int r = coloris.R;
int g = coloris.G;
int b = coloris.B;
worksheet.Cells[i + 1, j + 1].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.FromArgb(r, g, b));
}
}
}
//设置 Excel 格式
worksheet.Columns.EntireColumn.AutoFit();
//保存 Excel 文件
excel.Visible = true;
Microsoft.Office.Interop.Excel.Workbook book = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
book.Saved = true;
book.SaveCopyAs(@"D:\datagridviewToExcel.xls");
excel.Quit();
```
希望对你有所帮助!