Получение последней строки файла Excel в первых 7 столбцах, игнорируя все форматированиеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Получение последней строки файла Excel в первых 7 столбцах, игнорируя все форматирование

Сообщение Anonymous »

Я работаю над кодом, который считывает данные из файла Word и извлекает их в файл Excel. Ему необходимо заполнить файл с последней строки. Проблема в том, что актуальны только первые 7 столбцов, обычно данные находятся в 8-м столбце. Не могли бы вы помочь мне найти код, который проверяет последнюю строку в первых семи столбцах? Он также должен игнорировать все форматирование, проверяя только текст. Я бы придерживался openxml и хотел бы избежать использования взаимодействия с Excel.
Заранее спасибо!
Роберт

Код: Выделить всё

foreach (var row in sheetData.Elements().Reverse())
{
for (int i = 0; i < 7; i++) // Only check the first 7 columns
{
var cell = row.Elements().ElementAtOrDefault(i);
if (HasText(cell, workbookPart))
{
lastRowIndex = row.RowIndex.Value;
Console.WriteLine(lastRowIndex);
break;
}
}
if (lastRowIndex != 0)
break;
}

private bool HasText(Cell cell, WorkbookPart workbookPart)
{
if (cell == null) return false;

if (cell.DataType != null && cell.DataType == CellValues.SharedString)
{
int sharedStringIndex = int.Parse(cell.CellValue.InnerText);
SharedStringItem item = workbookPart.SharedStringTablePart.SharedStringTable.Elements().ElementAt(sharedStringIndex);
return !string.IsNullOrEmpty(item.InnerText);
}
return !string.IsNullOrEmpty(cell.CellValue?.InnerText);
}
}

Это то, что я получил, но он не только по какой-то причине не игнорирует форматирование, но и проверяет каждый столбец на листе

Подробнее здесь: https://stackoverflow.com/questions/790 ... -all-forma
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»