Ich benutze DocX-Bibliothek, um Text in Word-Dokument zu ersetzen. Ich möchte irgendwie alle Zeichenfolgen zwischen "[]" in meiner Vorlage docx finden, zum Beispiel [Name], [Nachname], [Datum] etc ... und ersetze sie durch Werte, die ich zuvor in Datagridview geladen habe, die dieselbe Spalte haben Name (Name, Nachname, Datum). Hier ist, was ich bisher:C# alle Zeichenfolgen zwischen zwei Zeichen innerhalb des Word-Dokuments finden
foreach (DataGridViewRow dataGridViewRow in list)
{
try
{
string template = txtUcitajTemplate.Text;
string text2 = "Aneksi";
if (!System.IO.Directory.Exists(text2))
{
System.IO.Directory.CreateDirectory(text2);
}
string path = string.Format("{0}.docx", dataGridViewRow.Cells["Name"].Value.ToString());
string path2 = System.IO.Path.Combine(text2, path);
using (DocX document = DocX.Load(template))
{
string patternstart = Regex.Escape("[");
string patternend = Regex.Escape("]");
string regexexpr = patternstart + @"(.*?)" + patternend;
// document.ReplaceText(regexexpr, dataGridViewRow.Cells[0].Value.ToString());
// document.ReplaceText(regexexpr, dataGridViewRow.Cells[1].Value.ToString());
var regex = new regex("[.*?]");
var matches = regex.matches(input); //your matches: name, [email protected]
foreach (var match in matches) // e.g. you can loop through your matches like this
{
document.ReplaceText(match.ToString(), dataGridViewRow.Cells["Name"].Value.ToString());
document.ReplaceText(match.ToString(), dataGridViewRow.Cells["LastName"].Value.ToString());
}
document.SaveAs(path2);
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Und was ist die Frage? Irgendein Fehler? Problem? Unerwartete Ergebnisse? – HimBromBeere
Sorry, ich bin mir nicht sicher, was ich in regex.matches (Eingabe) eingeben soll, um Lochdokument zu suchen und alle Zeichenfolgen zwischen [] – dilesko