Я нашел индекс столбцов, которые я хочу поместить в строку для добавления в сетку данных.Я не уверен, как использовать значение индекса в Open XML, чтобы найти нужные ячейки.
bool headerIndexComplete = false;
int a1141Index = -1;
int NacIndex = -1;
string fileName = "FilePathHere";
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (SpreadsheetDocument doc = SpreadsheetDocument.Open(fs, false))
{
WorkbookPart workbookPart = doc.WorkbookPart;
SharedStringTablePart sstpart = workbookPart.GetPartsOfType<SharedStringTablePart>().First();
SharedStringTable sst = sstpart.SharedStringTable;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
Worksheet sheet = worksheetPart.Worksheet;
//var cells = sheet.Descendants<Cell>();
var rows = sheet.Descendants<Row>();
foreach (Row row in rows)
{
int ColumnIndex = 0;
foreach (Cell Cell in row.Elements<Cell>())
{
int ssid = int.Parse(Cell.CellValue.Text);
string CellText = sst.ChildElements[ssid].InnerText;
if (!headerIndexComplete)
{
if (CellText == "1141")
a1141Index = ColumnIndex;
if (CellText == "CHARGE GROUP (NAC'S)")
NacIndex = ColumnIndex;
ColumnIndex++;
}
}
}
}
}
}