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();
        }
    }
}
相关推荐
神仙别闹1 小时前
基于C#+SQL Server实现(Web)学生选课管理系统
前端·数据库·c#
向宇it2 小时前
【unity组件介绍】URP Decal Projector贴花投影器,将特定材质(贴花)投影到场景中的其他对象上。
游戏·3d·unity·c#·游戏引擎·材质
joe023510 小时前
电脑安装 Win10 提示无法在当前分区上安装Windows的解决办法
windows·gpt·电脑·uefi
前端 贾公子10 小时前
vue-cli 模式下安装 uni-ui
前端·javascript·windows
斯是 陋室11 小时前
在CentOS7.9服务器上安装.NET 8.0 SDK
运维·服务器·开发语言·c++·c#·云计算·.net
Elastic 中国社区官方博客12 小时前
在 Windows 上使用 Docker 运行 Elastic Open Crawler
大数据·windows·爬虫·elasticsearch·搜索引擎·docker·容器
inwith12 小时前
C#语法基础总结(超级全面)(二)
开发语言·c#
CIAS14 小时前
clonezilla 导出自动化恢复iso
linux·windows·clonezilla
墨菲安全15 小时前
Node.js Windows下路径遍历漏洞
windows·node.js·路径遍历漏洞
NoirSeeker16 小时前
在windows平台上基于OpenHarmony sdk编译三方库并暴露给ArkTS使用(详细)
c++·windows·arkts·鸿蒙·交叉编译