Получение последней строки файла 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-format
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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