使用C#

时间:2018-11-28 19:18:50

标签: c# excel openxml

我需要更新将通过Web浏览器上传的Excel工作表中每行的几列(我需要从这些列中解密工作表中的值,并将其替换为真实值) 。替换发生后,我将把更新后的文件向下推回客户端。

我过去曾与NPOI合作,但我想知道现在是否有更好的解决方案来实现这一目标。在发表本文之前,我做了一些挖掘工作,发现ExcelDataReader,但是除了使用该库读取Excel文件外,我找不到其他简单的方法,而我的要求是对该文件进行更新。

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是使用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());
    }
}