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();
}
}
}