Reemplazar etiqueta con texto en un cuadro de texto dentro de la hoja de cálculo
Escenarios de uso posibles
Text boxes can have tags which can be replaced with some text at run time to configure them according to the requirement. Tags can be some labels enclosed in angle brackets ‘<’ and ‘>’. There can be multiple tags within a single textbox.
Código de muestra
El siguiente código de muestra reemplaza las etiquetas TAG_1 y TAG_2 con un texto, digamos ‘ys’ y ‘1’. El archivo de muestra para probar el código siguiente se puede descargar desde el siguiente enlace:
// 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("<", "<"); | |
sFind = sFind.Replace(">", ">"); | |
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); | |
} | |
} | |
} | |
} | |
} |