winforms 在C#中将DataGridVeiw导出到Excel,并使用单元格背景颜色

8ljdwjyq  于 2022-11-17  发布在  C#
关注(0)|答案(2)|浏览(328)

我已经在winform C#的DataGridView中做了一个Shift RosterThis是我从DataGridView中导出的Excel工作表截图。
我需要将DataGridView按原样导出到Excel工作表,同时保持字体颜色和背景颜色,我也不想将DataGridView的第一列导出到Excel,因为这是不可见的。
我已经使用以下代码将DataGridView导出到Excel。

using (ExcelPackage pck = new ExcelPackage(file))
{
    // Add a new worksheet to the empty workbook
    ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Sheet1");
    // Load data from DataTable to the worksheet
    ws.Cells["A1"].LoadFromDataTable(((DataTable)gvShift.DataSource), true);
    ws.Cells.AutoFitColumns();

    // Add some styling
    using (ExcelRange rng = ws.Cells[1, 1, 1, gvShift.Columns.Count])
    {
        rng.Style.Font.Bold = true;
        rng.Style.Fill.PatternType = ExcelFillStyle.Solid;
        rng.Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.FromArgb(79, 129, 189));
        rng.Style.Font.Color.SetColor(System.Drawing.Color.White);
    }

请帮助....

plupiseo

plupiseo1#

您可以使用cells.interior.color

Range range = 
            oSheet.get_Range("A" + redRows.ToString(), "J"
                                    + redRows.ToString());

    range.Cells.Interior.Color = System.Drawing.Color.Red;
0aydgbwb

0aydgbwb2#

我得到了解决方案,我只是浏览了我设置颜色的源代码,将每个单元格或DataGridView放入循环中,并通过范围,应用颜色。
感谢大家的帮助

相关问题