C# EPPlus,查找并设置命名范围的值
我一直在尝试使用ExcelPackage(3.0.1)库设置命名范围(在本例中为单个命名单元格)的值,这应该是一个简单的方法:C# EPPlus,查找并设置命名范围的值,c#,excel,epplus,C#,Excel,Epplus,我一直在尝试使用ExcelPackage(3.0.1)库设置命名范围(在本例中为单个命名单元格)的值,这应该是一个简单的方法: ExcelNamedRange er = xlPackage.Workbook.Names["Customer"]; er.Value = "Foo Bar"; 我显然做错了——有谁能给我举个例子吗 谢谢我不得不改用单元格值 using (ExcelPackage xlPackage = new ExcelPackage(newFile)) {
ExcelNamedRange er = xlPackage.Workbook.Names["Customer"];
er.Value = "Foo Bar";
我显然做错了——有谁能给我举个例子吗
谢谢我不得不改用单元格值
using (ExcelPackage xlPackage = new ExcelPackage(newFile))
{
foreach (ExcelWorksheet worksheet in xlPackage.Workbook.Worksheets)
{
var dimension = worksheet.Dimension;
if (dimension == null) { continue; }
var cells = from row in Enumerable.Range(dimension.Start.Row, dimension.End.Row)
from column in Enumerable.Range(dimension.Start.Column, dimension.End.Column)
//where worksheet.Cells[row, column].Value.ToString() != String.Empty
select worksheet.Cells[row, column];
try
{
foreach (var excelCell in cells)
{
try
{
if (excelCell.Value.ToString().Equals("[Customer]")) { excelCell.Value = "Customer Name"; }
}
catch (Exception) { }
}
}
catch (Exception a) { Console.WriteLine(a.Message); }
}
我查找了ExcelPackage文档,以查看[]集合返回的类型名称,发现documentatios很快就会出现,或者至少2007年他们是这么说的 我建议您使用EPPlus wich,它是一个excel库(仅限xlsx),对我来说非常有用 现在,要为命名范围内的每个单元格设置一个值:
ExcelWorksheet sheet = _openXmlPackage.Workbook.Worksheets["SheetName"];
using (ExcelNamedRange namedRange = sheet.Names["RangeName"])
{
for (int rowIndex = Start.Row; rowIndex <= namedRange.End.Row; rowIndex++)
{
for (int columnIndex = namedRange.Start.Column; columnIndex <= namedRange.End.Column; columnIndex++)
{
sheet.Cells[rowIndex, columnIndex].Value = "no more hair pulling";
}
}
}
ExcelWorksheet sheet=_openXmlPackage.工作簿.Worksheets[“SheetName”];
使用(ExcelNamedRange namedRange=sheet.Names[“RangeName”])
{
对于(int rowIndex=Start.Row;rowIndex我的范围是一个单元格。上面的代码声称namedRange.Start.Row是-1。它应该适用于一个单元格,但我不是100%确定。我看到你设法解决了你的问题,很高兴你这么做了。我在这里留下我的答案,以防有命名范围问题的人有兴趣尝试ePlus。您好。这是不是o设置您将搜索的范围?这样您就不会搜索空单元格?我需要这样的内容吗?