gpt4 book ai didi

c# - EPPlus 阅读列标题

转载 作者:行者123 更新时间:2023-11-30 13:10:33 25 4
gpt4 key购买 nike

有没有一种简单的方法可以告诉 EPPlus 一行是标题?或者我应该通过使用 SelectedRange 指定范围来创建标题,将其从工作表中删除并迭代剩余的单元格吗?

我最终这样做了:

class Program
{
static void Main(string[] args)
{
DirectoryInfo outputDir = new DirectoryInfo(@"C:\testdump\excelimports");
FileInfo existingFile = new FileInfo(outputDir.FullName + @"\Stormers.xlsx");
Dictionary<string, string> arrColumnNames = new Dictionary<string,string>() { { "First Name", "" }, { "Last Name", "" }, { "Email Address", "" } };
using (ExcelPackage package = new ExcelPackage(existingFile))
{
ExcelWorksheet sheet = package.Workbook.Worksheets[1];
var q = from cell in sheet.Cells
where arrColumnNames.ContainsKey(cell.Value.ToString())
select cell;

foreach (var c in q)
{
arrColumnNames[c.Value.ToString()] = c.Address;
}
foreach (var ck in arrColumnNames)
{
Console.WriteLine("{0} - {1}", ck.Key, ck.Value);
}

var qValues = from r in sheet.Cells
where !arrColumnNames.ContainsValue(r.Address.ToString())
select r;

foreach (var r in qValues)
{
Console.WriteLine("{0} - {1}", r.Address, r.Value);
}
}
}
}

最佳答案

我需要枚举标题并将所有列标题显示给我的最终用户。我拍了Muhammad Mubashir代码作为基础并将其更改/转换为扩展方法并从中删除硬编码数字。

public static class ExcelWorksheetExtension
{
public static string[] GetHeaderColumns(this ExcelWorksheet sheet)
{
List<string> columnNames = new List<string>();
foreach (var firstRowCell in sheet.Cells[sheet.Dimension.Start.Row, sheet.Dimension.Start.Column, 1, sheet.Dimension.End.Column])
columnNames.Add(firstRowCell.Text);
return columnNames.ToArray();
}
}

关于c# - EPPlus 阅读列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10278101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com