Какой самый простой способ подсчета листов книги .xlsx с использованием c #, NPOI и книги XSSF? - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь посчитать количество листов в рабочей книге.Рабочая книга создана с использованием NPOI, и, кажется, нет способа подсчитать количество листов с помощью версии NPOI на C #?

Это действительно сложная вещь, чтобы объяснить и показать ... НоЯ попробую.

Я пытаюсь использовать существующий файл Excel в качестве шаблона для статистики.Этот существующий файл Excel может иметь различное количество шаблонов, и мне нужно иметь возможность подсчитывать эти шаблоны, чтобы знать, где разместить мои новые листы и редактировать их имена.

Отправитель данных должен только выбрать, какойкакими данными должны быть заполнены шаблонные листы, и после удаления всех данных я удалю шаблонные листы из рабочей книги.

Что я пробовал:

Я прочиталдокументацию и искал информацию и пробовал следующие подходы:

Проблема сэтот подход: версия NPOI на C #, похоже, не имеет getNumberOfSheets.

Невозможно воссоздать код для работы с листами, так как функции для листов и строк слишком разные.

var sheetIndex = 0;
foreach (var sheet in requestBody.Sheets)
{
    if (sheet.TemplateNumber == "")
    {
       sheetTemplate = templateWorkbook.CreateSheet(sheet.Name);
    }
    else
    {
        sheetTemplate = templateWorkbook.CloneSheet(Convert.ToInt32(sheet.SheetTemplate));
        if (!templates.Contains(Convert.ToInt32(sheet.SheetTemplate)))
        {
            templates.Add(Convert.ToInt32(sheet.SheetTemplate));
        }

// Do math's to make sure we add the name to the newly created sheet further down the code (I need to actual index here)
    }
// Insert statistics 

//After inserting statistics:
    workingCopy.SetSheetName(sheetIndex, sheet.Name);

    foreach (var template in templates)
    {
        workingCopy.RemoveSheetAt(template);
    }
}

1 Ответ

0 голосов
/ 15 апреля 2019

Вы можете получить количество листов из свойства NumberOfSheets в XSSFWorkbook классе.

...