如何使用 NPOI C# 将 excel 电子表格中的所有单词大写
How to uppercase all the words in excel spreadsheet using NPOI C#
我需要在 C# 中使用 NPOI 将 sheet 中的所有单词转换为大写;我找不到执行此操作的方法。
- 应用大写之前:Cell[1;1]=Whosebug
- 应用大写后:Cell[1;1]=Whosebug
我认为如果不使用 NPOI 遍历单元格是不可能的。
可能可以使用 Interop to Excel 来完成,因为可以 select 范围文件并对其执行一些操作(如 Excel),但 NPOI 不提供此类功能。
但是,您不需要遍历 sheet 中的 所有 个单元格,因为存在属性 FirstRowNum
和 LastRowNum
并且它们为您提供实际包含数据的行范围。
所以你的循环看起来像(将文件的第一个工作 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());
}
}
我需要在 C# 中使用 NPOI 将 sheet 中的所有单词转换为大写;我找不到执行此操作的方法。
- 应用大写之前:Cell[1;1]=Whosebug
- 应用大写后:Cell[1;1]=Whosebug
我认为如果不使用 NPOI 遍历单元格是不可能的。
可能可以使用 Interop to Excel 来完成,因为可以 select 范围文件并对其执行一些操作(如 Excel),但 NPOI 不提供此类功能。
但是,您不需要遍历 sheet 中的 所有 个单元格,因为存在属性 FirstRowNum
和 LastRowNum
并且它们为您提供实际包含数据的行范围。
所以你的循环看起来像(将文件的第一个工作 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());
}
}