C#创建带颜色的Excel

1、定义了两个类:DownloadColorDTO 和 ColorDTO,用于存储数据和颜色信息。

2、在 Main 方法中,创建了两个 ColorDTO 列表,并将它们添加到 DownloadColorDTO 对象中。

3、设置了 OfficeOpenXml 的许可证为非商业用途。

4、创建了一个 Excel 文件,并添加了一个名为 "Sheet1" 的工作表。

5、遍历 DownloadColorDTO 对象中的数据,将值填充到 Excel 单元格中,并根据提供的颜色代码设置单元格的背景色。

6、保存了 Excel 文件。

javascript 复制代码
/*
1、打开您的 .NET 项目。
2、在解决方案资源管理器中,右键点击项目的"依赖项"或"引用"节点。
3、选择"管理 NuGet 包..."。
4、在 NuGet 包管理器中,搜索 EPPlus。
5、选择 EPPlus 包,然后点击"安装"。
 */
using OfficeOpenXml;
using System;
using System.Collections.Generic;
using System.IO;

public class DownloadColorDTO
{
    public List<List<ColorDTO>> Datas { get; set; }

    public string Name { get; set; }
}

public class ColorDTO
{
    public string Color { get; set; }

    public string Value { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        List<ColorDTO> datas1 = new List<ColorDTO>()
        {
            new ColorDTO() { Color = "#FFF000", Value = "第一行第一列" },
            new ColorDTO() { Color = "#FF0F00", Value = "第一行第二列" },
            new ColorDTO() { Color = "#FF00F0", Value = "第一行第三列" },
            new ColorDTO() { Color = "#FF000F", Value = "第一行第四列" }
        };

        List<ColorDTO> datas2 = new List<ColorDTO>()
        {
            new ColorDTO() { Color = "#FFF000", Value = "第二行第一列" },
            new ColorDTO() { Color = "#FF0F00", Value = "第二行第二列" },
            new ColorDTO() { Color = "#FF00F0", Value = "第二行第三列" },
            new ColorDTO() { Color = "#FF000F", Value = "第二行第四列" }
        };

        var result = new DownloadColorDTO() { Datas = new List<List<ColorDTO>>() { datas1, datas2 } };
        // 设置许可证上下文
        ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
        // 创建Excel文件
        var fileInfo = new FileInfo(@"\file.xlsx");

        using (var package = new ExcelPackage(fileInfo))
        {
            // 添加一个工作表
            var worksheet = package.Workbook.Worksheets.Add("Sheet1");

            var row = 1;
            foreach (var rows in result.Datas)
            {
                var col = 1;
                foreach (var item in rows)
                {
                    worksheet.Cells[row, col].Value = item.Value;
                    worksheet.Cells[row, col].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                    worksheet.Cells[row, col].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml(item.Color));
                    col++;
                }
                row++;
            }
            // 保存Excel文件
            package.Save();
        }
    }
}
相关推荐
CodeCraft Studio2 小时前
Excel处理控件Aspose.Cells教程:使用 Python 将 HTML 转换为 Excel
python·html·excel·aspose·aspose.cells·html转excel
Leo655352 小时前
Excel 读取阶段就去掉换行
excel
是木子啦2 小时前
wpf passwordbox控件 光标移到最后
c#·wpf
布伦鸽3 小时前
C# WPF DataGrid使用Observable<Observable<object>类型作为数据源
开发语言·c#·wpf
小镇学者3 小时前
【PHP】利用 xlswriter 扩展导出的Excel文件报错问题
php·excel
程序员杰哥4 小时前
Pytest与Unittest测试框架对比
自动化测试·软件测试·python·测试工具·测试用例·excel·pytest
.NET修仙日记4 小时前
2025年ASP.NETMVC面试题库全解析
面试·职场和发展·c#·asp.net·mvc·面试题·asp.net mvc
cehuishi95274 小时前
excel中关联word邮件合并使用
word·excel·批量打印·邮件合并
tjsoft4 小时前
设置 windows nginx.exe 每天 重启
运维·windows·nginx
读书读傻了哟5 小时前
Windows 10 使用 VMware Workstation 搭建 Ubuntu 虚拟机
linux·windows·ubuntu