Office Open XML-按内容定位单元格
本文关键字:定位 单元格 Open XML- Office | 更新日期: 2023-09-27 18:29:06
如果我使用Office Open XML知道Cell的内容(xlsx文档中没有重复项),如何将其作为目标?
我的意思是我有xlsx表(模板),在它的某个地方放了我的"变量"。例如"<<_time>>"。我想找到那个元素(通过"变量"名称)并更改单元格值(在本例中为当前时间)。
基本代码:
FileInfo newFile = new FileInfo(@"...");
FileInfo template = new FileInfo(@"...");
using (ExcelPackage xlPackage = new ExcelPackage(newFile, template))
{
ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets.First();
//need target Cell by it's value (must use for-loop?)
//worksheet.Cells[...].Value = "...";
xlPackage.Save();
}
好的,我通过经典循环解决了它。
var start = worksheet.Dimension.Start;
var end = worksheet.Dimension.End;
for (int row = start.Row; row <= end.Row; row++)
{
for (int col = start.Column; col <= end.Column; col++)
{
string cellValue = worksheet.Cells[row, col].Text.ToString();
if (cellValue == "<<_time>>")
{
worksheet.Cells[row, col].Value = "..";
}
}
}