代码之家  ›  专栏  ›  技术社区  ›  Petr

Office Open XML-目标单元格的内容

  •  0
  • Petr  · 技术社区  · 10 年前

    如果我使用OfficeOpenXML知道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();
            }
    
    1 回复  |  直到 10 年前
        1
  •  0
  •   Petr    10 年前

    好的,我用经典循环解决了这个问题。

                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 = "..";
                        }
                    }
                }