微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

所有页面列的名称

如何解决所有页面列的名称

如何使用 ClosedXML 获取 Excel 表中所有已使用列的列表?这就是为所有单元格发布列的方式。我没有找到适合列的方法

var cells = source_sheet.CellsUsed();
foreach (var c in cells)
{}

像这样拉出用过的扬声器。但它看起来像...不是真的 =)

List<string> names = new List<string>();
var cells = sheet.CellsUsed();
foreach(var c in cells)
{
    if (names.Contains(c.Address.ColumnLetter))
        break;
    else
        names.Add(c.Address.ColumnLetter);
}

解决方法

如果您的数据确实在定义的 Excel 表格 中,那么您可以按如下方式返回字段名称:

using var wb = new XLWorkbook("test.xlsx");
var ws = wb.Worksheets.First();

var table = ws.Tables.First();
var names = table.Fields.Select(f => f.Name).ToList();

foreach (var name in names)
    Console.WriteLine(name);

如果您的数据只是在常规单元格中,您可以这样做:

using var wb = new XLWorkbook("test.xlsx");
var ws = wb.Worksheets.First();

var names = ws.ColumnsUsed().Select(c => c.Cell(rowNumber: 1).GetString()).ToList();

foreach (var name in names)
    Console.WriteLine(name);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。