用工作表内文本框中的文本替换标签
Contents
[
Hide
]
可能的使用场景
文本框可以有标签,可以在运行时用一些文本替换,以根据需要配置它们。标签可以是一些用尖括号括起来的标签 ‘<’ and ‘>.一个文本框中可以有多个标签。
示例代码
以下示例代码替换标签 TAG_1 和标签_与一些文本说 ‘ys’ 和 ‘1’。可以从以下链接下载用于测试以下代码的示例文件:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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); | |
} | |
} | |
} | |
} | |
} |