Обновить файл Excel (формат OpenXml) с помощью C # - PullRequest
0 голосов
/ 28 ноября 2018

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

Я работал с NPOI в прошлом, но мне интересно, есть ли лучшее решение для достижения этой цели.Я немного покопался перед тем, как сделать это сообщение, и обнаружил ExcelDataReader , но не смог найти простой способ сделать что-либо, кроме чтения файлов Excel с использованием этой библиотеки, и мои требования - обновить файл.

Любые предложения будут с благодарностью.

1 Ответ

0 голосов
/ 28 ноября 2018

Вот очень простой класс, использующий библиотеку EPPlus .Он обновляет файл Excel, обращая текст в первом столбце каждой строки.Вы можете проверить это, используя любую электронную таблицу Excel с текстом в первом столбце.

Замените ReverseText на то, что расшифровывает значение.

public class ExcelUpdater
{
    public void UpdateExcel(string pathToFile)
    {
        using (var package = new ExcelPackage(new FileInfo(pathToFile)))
        {
            var worksheet = package.Workbook.Worksheets.First();
            var lastRow = worksheet.Dimension.End.Row;
            for (var row = 1; row <= lastRow; row++)
            {
                worksheet.Cells[row, 1].Value = ReverseText(worksheet.Cells[row, 1].Text);
            }
            package.Save();
        }
    }

    private string ReverseText(string value)
    {
        return new string(value.Reverse().ToArray());
    }
}
...