gpt4 book ai didi

c# - 无需word即可获取.docx中的所有内容控件

转载 作者:行者123 更新时间:2023-11-30 16:06:06 26 4
gpt4 key购买 nike

我要获取一个Word文档中的所有内容控件并插入信息,但是运行程序的PC不需要安装Word。

我试过:

List<SdtContentText> lista = parteDocumento.Document.Descendants<SdtContentText>().ToList();
foreach (SdtContentText objeto in lista)

并将 SdtContentText 更改为 SdtBlock

编辑:

现在我可以获得 ContentControls 但我不能编辑它们的 innerText

    List <OpenXmlElement> lista = parteDocumento.Document.Body.ToList().FirstOrDefault<OpenXmlElement>().ToList();

foreach (var objeto in lista)
{

if (objeto != null && objeto is SdtRun)
{
SdtRun objeto2 = (SdtRun)objeto;
.....

最佳答案

获取所有文本内容控件并编辑

 using (WordprocessingDocument doc = WordprocessingDocument.Open(document, true))
{

MainDocumentPart parteDocumento = doc.MainDocumentPart;

foreach (SdtElement objeto in parteDocumento.Document.Descendants<SdtElement>().ToList())
{

foreach (Text t in objeto.Descendants<Text>().ToList())
{

if (t.Text == "nombre")
{
t.Text = persona.nombre;
}
if (t.Text == "primerApellido")
{
t.Text = persona.primerApellido;
}
if (t.Text == "segundoApellido")
{
t.Text = persona.segundoApellido;
}
if (t.Text == "nacionalidad")
{
t.Text = persona.nacionalidad;
}

}

}
parteDocumento.Document.Save();
}

关于c# - 无需word即可获取.docx中的所有内容控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32739203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com