gpt4 book ai didi

c# - EPPlus - 读取 Excel 表格

转载 作者:可可西里 更新时间:2023-11-01 03:05:26 44 4
gpt4 key购买 nike

我想使用 EPPlus 读取一个 excel 表格,然后将每一列的所有内容存储到其对应的 List 中.我希望它能够识别表格的标题并根据该标题对内容进行分类。

例如,如果我的excel表格如下:

Id    Name     Gender
1 John Male
2 Maria Female
3 Daniel Unknown

我希望数据存储在 List<ExcelData> 中在哪里

public class ExcelData
{
public string Id { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
}

这样我就可以使用标题名称调出内容。例如,当我这样做时:

foreach (var data in ThatList)
{
Console.WriteLine(data.Id + data.Name + data.Gender);
}

它将给我这个输出:

1JohnMale
2MariaFemale
3DanielUnknown

这就是我得到的全部:

var package = new ExcelPackage(new FileInfo(@"C:\ExcelFile.xlsx"));
ExcelWorksheet sheet = package.Workbook.Worksheets[1];

var table = sheet.Tables.First();

table.Columns.Something //I guess I can use this to do what I want

请帮忙:(我花了很长时间搜索与此相关的示例代码,以便我可以从中学习但无济于事。我也知道 ExcelToLinQ 可以做到这一点,但它无法识别表格。

最佳答案

不知道为什么,但以上解决方案都不适合我。所以分享有效的方法:

public void readXLS(string FilePath)
{
FileInfo existingFile = new FileInfo(FilePath);
using (ExcelPackage package = new ExcelPackage(existingFile))
{
//get the first worksheet in the workbook
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
int colCount = worksheet.Dimension.End.Column; //get Column Count
int rowCount = worksheet.Dimension.End.Row; //get row count
for (int row = 1; row <= rowCount; row++)
{
for (int col = 1; col <= colCount; col++)
{
Console.WriteLine(" Row:" + row + " column:" + col + " Value:" + worksheet.Cells[row, col].Value?.ToString().Trim());
}
}
}
}

关于c# - EPPlus - 读取 Excel 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36637882/

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