C# 在openXML中查找单元格标题名称
我正在使用OfficeOpenXML将Excel数据导入数据库。这是我在任务中使用的代码示例。但我希望在循环行中的每个单元格时使用HeaderName,因为我必须对列进行一些修改。 任何帮助建议都将不胜感激。谢谢C# 在openXML中查找单元格标题名称,c#,openxml,C#,Openxml,我正在使用OfficeOpenXML将Excel数据导入数据库。这是我在任务中使用的代码示例。但我希望在循环行中的每个单元格时使用HeaderName,因为我必须对列进行一些修改。 任何帮助建议都将不胜感激。谢谢 var ws = pck.Workbook.Worksheets.First(); var pck = new OfficeOpenXml.ExcelPackage(); for (var rowNum = 3; rowNum <= ws.Dimension.End.Row;
var ws = pck.Workbook.Worksheets.First();
var pck = new OfficeOpenXml.ExcelPackage();
for (var rowNum = 3; rowNum <= ws.Dimension.End.Row; rowNum++)
{
var wsRow = ws.Cells[rowNum, 1, rowNum, DtCommon.Tables[0].Columns.Count-1];
var row = tblResult.NewRow();
foreach (var cell in wsRow)
{
row[cell.Start.Column - 1] = cell.Text; //Find HeaderName here based on cell index
}
tblResult.Rows.Add(row);
}
var ws=pck.Workbook.Worksheets.First();
var pck=newOfficeOpenXML.ExcelPackage();
对于(var rowNum=3;rowNum我已经在评论中发布了这个建议,但由于它有帮助,我将它作为一个答案发布
通过查看您的代码,我想您正在使用ExcelPackage库
如果是这样,我想您可以通过以下方式获得每列中的第一个单元格:
foreach (var cell in wsRow)
{
// code to get the header cell
var header = ws.Cell(1, cell.Column);
// rest of your code here
// ...
}
如果“header”是指每列中第一个单元格的值或其他内容,请写下。是的,我指的是每列的第一个单元格通过查看代码,我想您使用的是ExcelPackage库,对吗?如果是这样,我想您可以通过编写ws.cell(1,cell.column)来获得每列中第一个单元格的值
在循环中。虽然我还没有测试过,但我只是查看了hte ExcelPackage库的源代码。将foreach循环更改为for loop.ExcelRange Header=ws.Cells[1,I];使用了它并为我工作了!从Header访问值。值感谢您的建议。是的,它确实为我工作了