タグをワークシート内のテキストボックス内のテキストに置き換えます
Contents
[
Hide
]
考えられる使用シナリオ
テキスト ボックスには、要件に応じて構成するために実行時にテキストに置き換えることができるタグを含めることができます。タグは、山括弧で囲まれたラベルにすることができます ‘<’ and ‘>. 1 つのテキスト ボックス内に複数のタグを含めることができます。
サンプルコード
次のサンプル コードはタグ TAG を置き換えます_1とタグ_‘ys’ と ‘1’ というテキストが含まれています。以下のコードをテストするためのサンプル ファイルは、次のリンクからダウンロードできます。
This file contains 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 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); | |
} | |
} | |
} | |
} | |
} |