如何按名称设置 Excel 单元格的值而不是使用 EPPlus 的坐标?
How to set value of Excel cell by name instead of using coordinates with EPPlus?
我可以使用 EPPlus 设置单元格值:
var template = new FileInfo(Server.MapPath("~/App_Data/my_template.xlsx"));
var pck = new ExcelPackage(template);
var ws = pck.Workbook.Worksheets.First();
ws.Cells[15, 4].Value = 66;
ws.Cells["B1"].Value = 55;
我不想通过坐标寻址目标单元格
使用命名 cell/variable "profits".
ws.Range("profits").Value = 66;
但是,EPPlus 不支持 ws.Range(...)。
=> 是否可以这样做?我将如何编写提供所需功能的扩展方法?
相关articles/questions:
a) EPPlus 文档:
b) 如何在 Excel 中使用命名 cells/variables:
https://www.computerhope.com/issues/ch000704.htm
What's the RIGHT way to reference named cells in Excel 2013 VBA? (I know I'm messing this up)
c) 使用 C#
创建 Excel 文件的库
Create Excel (.XLS and .XLSX) file from C#
var profits = pck.Workbook.Names["profits"];
profits.Value = 66;
来自
也可以设置命名范围的值:
var ws = pck.Workbook.Worksheets.First();
using (var namedRange = pck.Workbook.Names["MyNamedRange"])
{
for (int rowIndex = namedRange.Start.Row; rowIndex <= namedRange.End.Row; rowIndex++)
{
for (int columnIndex = namedRange.Start.Column; columnIndex <= namedRange.End.Column; columnIndex++)
{
ws.Cells[rowIndex, columnIndex].Value = 66;
}
}
}
来自
EPPlus, Find and set the value for a Named Range
我可以使用 EPPlus 设置单元格值:
var template = new FileInfo(Server.MapPath("~/App_Data/my_template.xlsx"));
var pck = new ExcelPackage(template);
var ws = pck.Workbook.Worksheets.First();
ws.Cells[15, 4].Value = 66;
ws.Cells["B1"].Value = 55;
我不想通过坐标寻址目标单元格 使用命名 cell/variable "profits".
ws.Range("profits").Value = 66;
但是,EPPlus 不支持 ws.Range(...)。
=> 是否可以这样做?我将如何编写提供所需功能的扩展方法?
相关articles/questions:
a) EPPlus 文档:
b) 如何在 Excel 中使用命名 cells/variables:
https://www.computerhope.com/issues/ch000704.htm
What's the RIGHT way to reference named cells in Excel 2013 VBA? (I know I'm messing this up)
c) 使用 C#
创建 Excel 文件的库Create Excel (.XLS and .XLSX) file from C#
var profits = pck.Workbook.Names["profits"];
profits.Value = 66;
来自
也可以设置命名范围的值:
var ws = pck.Workbook.Worksheets.First();
using (var namedRange = pck.Workbook.Names["MyNamedRange"])
{
for (int rowIndex = namedRange.Start.Row; rowIndex <= namedRange.End.Row; rowIndex++)
{
for (int columnIndex = namedRange.Start.Column; columnIndex <= namedRange.End.Column; columnIndex++)
{
ws.Cells[rowIndex, columnIndex].Value = 66;
}
}
}
来自
EPPlus, Find and set the value for a Named Range