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();
        }
    }
}
相关推荐
公子小六15 小时前
基于.NET的Windows窗体编程之WinForms音频控件
windows·microsoft·c#·.net·音视频·winforms
绿浪198416 小时前
c# 结构体 能不能直接封送检测
开发语言·c#
新手unity自用笔记16 小时前
unity基于Socket的网络学习
网络·网络协议·学习·unity·c#·游戏引擎
Python私教17 小时前
Excel 和群聊什么时候该升级成管理系统?7 个判断信号
excel·管理系统·权限设计
格林威17 小时前
C#图像像素放大:邻域平均、双线性插值实现像素放大的C#实现代码
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
诸神缄默不语18 小时前
如何在Win11系统中找到是哪个程序占用了指定端口
windows
AI英德西牛仔18 小时前
Claude导出word指令的PC端最优解:AI导出鸭电脑版底层逻辑全拆解
人工智能·word·excel·deepseek·ai导出鸭
toooooop819 小时前
踩坑:PHP7.2导出Excel正常,升级7.3文件损坏需修复
android·excel
AI导出鸭20 小时前
怎么让Grok做表格?AI导出鸭苹果版通过专属解析引擎,将Grok输出的管道表格智能还原为二维结构,一键导出Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
FL162386312921 小时前
Halcon26.05下载安装教程
windows