Ersätt tagg med text i en textruta i arbetsbladet

Möjliga användningsscenarier

Textrutor kan ha taggar som kan ersättas med viss text vid körning för att konfigurera dem enligt kraven. Taggar kan vara vissa etiketter inom vinkelparenteser ‘<’ and ‘>. Det kan finnas flera taggar i en enda textruta.

Exempelkod

Följande exempelkod ersätter taggar TAG_1 och TAG_2 med lite text säger “ys” och “1”. Exempelfil för testning nedan kan laddas ner från följande länk:

sampleReplaceTagWithText.xlsx

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
Workbook wb = new Workbook(sourceDir + "sampleReplaceTagWithText.xlsx");
string tag = "TAG_2$TAG_1";
string replace = "1$ys";
for (int i = 0; i < tag.Split('$').Length; i++)
{
sheetReplace(wb, "<" + tag.Split('$')[i] + ">", replace.Split('$')[i]);
}
PdfSaveOptions opts = new PdfSaveOptions();
wb.Save(outputDir + "outputReplaceTagWithText.pdf", opts);
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
public static void sheetReplace(Workbook workbook, string sFind, string sReplace)
{
string finding = sFind;
foreach (Worksheet sheet in workbook.Worksheets)
{
sheet.Replace(finding, sReplace);
for (int j = 0; j < 3; j++)
{
if (sheet.PageSetup.GetHeader(j) != null)
sheet.PageSetup.SetHeader(j, sheet.PageSetup.GetHeader(j).Replace(finding, sReplace));
if (sheet.PageSetup.GetFooter(j) != null)
sheet.PageSetup.SetFooter(j, sheet.PageSetup.GetFooter(j).Replace(finding, sReplace));
}
}
foreach (Worksheet sheet in workbook.Worksheets)
{
sFind = sFind.Replace("<", "&lt;");
sFind = sFind.Replace(">", "&gt;");
foreach (Aspose.Cells.Drawing.TextBox mytextbox in sheet.TextBoxes)
{
if (mytextbox.HtmlText != null)
{
if (mytextbox.HtmlText.IndexOf(sFind) >= 0)
{
mytextbox.HtmlText = mytextbox.HtmlText.Replace(sFind, sReplace);
}
}
}
}
}