如何使用 NPOI C# 将 excel 电子表格中的所有单词大写

How to uppercase all the words in excel spreadsheet using NPOI C#

我需要在 C# 中使用 NPOI 将 sheet 中的所有单词转换为大写;我找不到执行此操作的方法。

我认为如果不使用 NPOI 遍历单元格是不可能的。
可能可以使用 Interop to Excel 来完成,因为可以 select 范围文件并对其执行一些操作(如 Excel),但 NPOI 不提供此类功能。

但是,您不需要遍历 sheet 中的 所有 个单元格,因为存在属性 FirstRowNumLastRowNum 并且它们为您提供实际包含数据的行范围。

所以你的循环看起来像(将文件的第一个工作 sheet 中的所有字符串转换为大写):

var hssfwb;
using (var file = new FileStream(@"your_file.xls", FileMode.Open, FileAccess.Read))
{
    hssfwb = new HSSFWorkbook(file);
    file.Close();
}

var sheet = hssfwb.GetSheetAt(0);
for (int i = sheet.FirstRowNum; i <= sheet.LastRowNum; i++)
{
    var row = sheet.GetRow(i);
    if (row != null)
    {
        foreach (ICell cell in row.Cells.Where(c => c.CellType == CellType.String))
            cell.SetCellValue(cell.StringCellValue.ToUpper());
    }
}