使用 EPPlus.Core 在 excel 文件中创建多个 header 行
Creating multiple header rows in an excel file with EPPlus.Core
我将使用 EPPlus.Core 在我的 .Net Core 项目中生成 excel 报告。因此,在挖掘 Google 以找到一些示例代码片段后,我发现了以下博客:
我可以用一个 header 创建一个 excel 文件,代码如下:
using (ExcelPackage excel = new ExcelPackage())
{
excel.Workbook.Worksheets.Add("Worksheet1");
excel.Workbook.Worksheets.Add("Worksheet2");
excel.Workbook.Worksheets.Add("Worksheet3");
var headerRow = new List<string[]>()
{
new string[] { "ID", "First Name", "Last Name", "DOB" }
};
// Determine the header range (e.g. A1:D1)
string headerRange = "A1:" + Char.ConvertFromUtf32(headerRow[0].Length + 64) + "1";
// Target a worksheet
var worksheet = excel.Workbook.Worksheets["Worksheet1"];
// Popular header row data
worksheet.Cells[headerRange].LoadFromArrays(headerRow);
FileInfo excelFile = new FileInfo(@"C:\Users\amir\Desktop\test.xlsx");
excel.SaveAs(excelFile);
}
但我找不到如何在单个工作表上添加多个 header 行。例如,第一个 table 有 ID、名称、价格 header,第二个 table 有注释和价格 header。是否可以使用 EPPlus.Core 将多个 table 添加到工作表中?上面的代码片段仅添加了从 A1 到 D1 的单个 header 行。假设我想从 A4 到 J4 添加另一个 header 行。有什么建议吗?
但我找到了答案。希望这会帮助其他人节省时间。这不是最好的方法,但这是我需要的。我通过添加 "A1:J1" 和 "A3:E3".
定义了 Cells 数组上的坐标
var worksheet = excel.Workbook.Worksheets["Worksheet1"];
worksheet.Cells["A1:J1"].LoadFromArrays(header1Data);
worksheet.Cells["A1:J1"].Style.Font.Bold = true;
worksheet.Cells[2, 1].LoadFromArrays(array1Data);
worksheet.Cells["A3:E3"].LoadFromArrays(header2Data);
worksheet.Cells["A3:E3"].Style.Font.Bold = true;
worksheet.Cells[4, 1].LoadFromArrays(array2Data);
我将使用 EPPlus.Core 在我的 .Net Core 项目中生成 excel 报告。因此,在挖掘 Google 以找到一些示例代码片段后,我发现了以下博客:
我可以用一个 header 创建一个 excel 文件,代码如下:
using (ExcelPackage excel = new ExcelPackage())
{
excel.Workbook.Worksheets.Add("Worksheet1");
excel.Workbook.Worksheets.Add("Worksheet2");
excel.Workbook.Worksheets.Add("Worksheet3");
var headerRow = new List<string[]>()
{
new string[] { "ID", "First Name", "Last Name", "DOB" }
};
// Determine the header range (e.g. A1:D1)
string headerRange = "A1:" + Char.ConvertFromUtf32(headerRow[0].Length + 64) + "1";
// Target a worksheet
var worksheet = excel.Workbook.Worksheets["Worksheet1"];
// Popular header row data
worksheet.Cells[headerRange].LoadFromArrays(headerRow);
FileInfo excelFile = new FileInfo(@"C:\Users\amir\Desktop\test.xlsx");
excel.SaveAs(excelFile);
}
但我找不到如何在单个工作表上添加多个 header 行。例如,第一个 table 有 ID、名称、价格 header,第二个 table 有注释和价格 header。是否可以使用 EPPlus.Core 将多个 table 添加到工作表中?上面的代码片段仅添加了从 A1 到 D1 的单个 header 行。假设我想从 A4 到 J4 添加另一个 header 行。有什么建议吗?
但我找到了答案。希望这会帮助其他人节省时间。这不是最好的方法,但这是我需要的。我通过添加 "A1:J1" 和 "A3:E3".
定义了 Cells 数组上的坐标 var worksheet = excel.Workbook.Worksheets["Worksheet1"];
worksheet.Cells["A1:J1"].LoadFromArrays(header1Data);
worksheet.Cells["A1:J1"].Style.Font.Bold = true;
worksheet.Cells[2, 1].LoadFromArrays(array1Data);
worksheet.Cells["A3:E3"].LoadFromArrays(header2Data);
worksheet.Cells["A3:E3"].Style.Font.Bold = true;
worksheet.Cells[4, 1].LoadFromArrays(array2Data);