如何使用POI操作Word文本框中的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用POI操作Word文本框中的内容相关的知识,希望对你有一定的参考价值。

步骤
  第一步,使用输入流打开文件,并获得文档的XWPFDocument对象。然后获得文档的所有段落,进而获得要操作的文本框所在的段落,具体使用时候,可以通过判断或者print操作得知要操作的文本框到底是哪一段。
  FileInputStream fis = newFileInputStream("e:/file.docx");
  XWPFDocument doc = new XWPFDocument(fis);
  List<XWPFParagraph> paragraphList =doc.getParagraphs();
  XWPFParagraph paragraph = paragraphList.get(10);
  文本框在Word中显示
  第二步,获取XWPFParagraph的XmlObject,然后获得XmlObject对象的游标。可以通过打印XmlObject来得知当前XML的内容,也可以使用XmlCursor的getName方法和getTextValue方法来查看当前游标所在位置的Node及Node的值。
  XmlObject object =paragraph.getCTP().getRArray(1);
  XmlCursor cursor = object.newCursor();
  第四步,通过移动游标,找到要修改的文本所在位置,然后使用游标的setTextValue来设置其值。
  //修改第一处文本:
  cursor.toChild(1); cursor.toChild(0);cursor.toChild(3); cursor.toChild(0); cursor.toChild(0); cursor.toChild(3);cursor.toChild(1); cursor.setTextValue("First");
  // 修改第二处文本
  cursor.toParent(); cursor.toParent();cursor.toChild(1);
  cursor.toChild(3); cursor.toChild(1);
  cursor.setTextValue("Second");
  第四步,保存文件、关闭输入输出流。
  FileOutputStream fos = newFileOutputStream("e:/export.docx");
  doc.write(fos);
  fos.flush();
  fos.close();
  fis.close();
  修改后的文本框。
参考技术A 步骤 第一步,使用输入流打开文件,并获得文档的XWPFDocument对象。然后获得文档的所有段落,进而获得要操作的文本框所在的段落,具体使用时候,可以通过判断或者print操作得知要操作的文本框到底是哪一段。

VB如何把文件内容显示在文本框中?

就是类似记事本一样的,我用Text1.Text=的方法不行,Open F.FiLenaMe又找不到路径,F是控件

VB6.0可以使用TextBok控件或RichTextBox控件实现将读入文本文件显示于控件中。

    TextBox 控件有时也称作编辑字段或者编辑控件,显示设计时输入的用户输入的、或运行时在代码中赋予控件的信息。

    为了在 TextBox 控件中显示多行文本,要将 MultiLine 属性设置为
    True。如果多行 TextBox 没有水平滚动条,那么即使 TextBox 调整了大小,文本也会自动换行。为了在
    TextBox 上定制滚动条组合,需要设置 ScrollBars 属性。

    如果文本框的 MultiLine 属性设置为 True 而且它的
    ScrollBars 没有设置为 None (0),则滚动条总出现在文本框上。

    如果将 MultiLine 属性设置为 True,则可以在 TextBox 内用 Alignment 属性设置文本的对齐。如果 MultiLine 属性是 False,则
    Alignment 属性不起作用。

    代码实例:

    Private Sub Command1_Click()

    Dim strj() As String

    \' 设置“CancelError”为 True

    CommonDialog1.CancelError = True

    On Error GoTo ErrHandler

    \' 设置标志

    CommonDialog1.Flags = cdlOFNHideReadOnly

    \' 设置过滤器

    CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"

    \' 指定缺省的过滤器

    CommonDialog1.FilterIndex = 2

    \' 显示“打开”对话框

    CommonDialog1.ShowOpen

    \' 显示选定文件的名字

    Debug.Print CommonDialog1.FileName

    Str = CommonDialog1.FileName

    Open CommonDialog1.FileName For Input As #1

    Do Until EOF(1)

    Line Input #1, s

    Text1.Text = Text1.Text & s & vbCrLf

    Loop

    Close #1

    Exit Sub

    ErrHandler:

    Exit Sub

    End Sub

    RichTextBox 控件不仅允许输入和编辑文本,同时还提供了标准 TextBox
    控件未具有的、更高级的指定格式的许多功能。

    上述代码同样适合RichTextBox控件使用


参考技术A 楼上已经给了方法,不过我提醒下,最好用Error方法判断文件选择是否取消,而不要用F.FileName="",不然第二次你选择取消也会打开第一次的文件 参考技术B 把Text1的MultiLine属性设为True,ScrollBars属性设为2 - Both

Private Sub Command1_Click()
F.Filter = "文本文档(*.txt)|*.txt"
F.FileName = ""
F.ShowOpen
If F.FileName = "" Then Enit Sub
getfreefile = FreeFile
Open F.FileName For Input As #getfreefile
Do While Not EOF(getfreefile)
Line Input #1, readfile
Text1.Text = Text1.Text & readfile & vbCrLf
Loop
Close #getfreefile
End Sub本回答被提问者采纳

以上是关于如何使用POI操作Word文本框中的内容的主要内容,如果未能解决你的问题,请参考以下文章

word文档中如何替换图片

Java POI 如何操作word 格式

VB如何把文件内容显示在文本框中?

如何让word文本框中的文字垂直上下居中

如何让Word文本框中的文字垂直上下居中

word删除文档中所有空格