[英]Office Open XML - Target Cell by its content
How to target Cell if I know its content (there are no duplicates in the xlsx document) using Office Open XML? 如果我使用Office Open XML知道Cell的内容(xlsx文档中没有重复项),该如何定位Cell?
I mean I have xlsx sheet (template) and somewhere in it placed my "variable". 我的意思是我有xlsx工作表(模板),并在其中放置了“变量”。 For example "<<_time>>". 例如“ << _ time >>”。 I want to find that element (by "variable" name) and change the cell value (current time in this case). 我想找到该元素(通过“变量”名称)并更改单元格值(在这种情况下为当前时间)。
Basic code: 基本代码:
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();
}
Ok, I solved it by classic loop. 好的,我通过经典循环解决了它。
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 = "..";
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.