提取Word内容

如何提取Word的内容到数据表中

SQL 帆软用户yZKd0Cxbty 发布于 5 小时前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
0035705Lv5初级互助
发布于4 小时前

用帆软肯定是解决不了的

最佳回答
0
用户k6280494Lv6资深互助
发布于5 小时前

把word转换成excel

最佳回答
0
ChazzenLv2见习互助
发布于5 小时前

这个不行,一般直接导入也只有EXCEL,CSV文件这种

除非使用编程语言来读取 Word 文档的内容。然后转化成数据库可以接受的格式存进去

  • Chazzen Chazzen 回复 0035705 嗯,专门写程序读取再写入数据库
    2024-09-20 14:00 
  • 阿拉山 阿拉山(提问者) 回复 Chazzen 好吧
    2024-09-20 14:14 
最佳回答
0
CD20160914Lv8专家互助
发布于5 小时前(编辑于 5 小时前

如果你会VBA,那么这个就简单了,提取word的关键内容,使用vba提取到excel中形成固定的列表形式,,然后cpt读取excel文件就行了,如果不懂vba,你无视下面的代码就行了,反正有规律肯定是可以批量处理的!!

Sub 循环打开工作簿()

    On Error GoTo 1

    k = 1

    Rows("2:65536").Clear '清除上次数据

    Application.DisplayAlerts = False

    Application.ScreenUpdating = False

    Application.AskToUpdateLinks = False

    pth = Application.GetOpenFilename("文件(*.doc*),*.doc*", , "请选择文件", , False) '打开doc后缀的文档

    If pth = "False" Then Exit Sub '如果用户选择了取消,直接退出

    Set doc = CreateObject("word.application")                 '创建Word对象

    doc.Visible = True '显示word主程序

    Set wd = doc.Documents.Open(pth) '打开word文档,赋值给对象变量wd

    For Each tbl In wd.tables '删除文档中所有的表格,因为表格过多,影响循环段落的效率。

        tbl.Delete

    Next

    For i = 1 To wd.Paragraphs.Count - 2 '循环到倒数第三段

        a = wd.Paragraphs(i).Range.Text '获取这几段的内容,分别赋值给a、b、c变量

        b = wd.Paragraphs(i + 1).Range.Text

        c = wd.Paragraphs(i + 2).Range.Text

        If InStr(a, "物业管理费缴费清册") Then '开始取数据

            k = k + 1

            Cells(k, 1) = k - 1                                '序号

            Cells(k, 2) = l(Split(Split(b, ":")(1), "面积")(0))  '楼号楼室

            Cells(k, 3) = l(Split(Split(b, "面积")(1), "㎡")(0))  '面积

            Cells(k, 4) = l(Split(Split(c, "姓名")(1), "电话")(0)) '姓名

            Cells(k, 5) = l(Split(Split(c, "电话")(1), "月缴费")(0)) '电话

            Cells(k, 6) = l(Split(Split(c, "月缴费")(1), "元")(0)) '月缴费

            Cells(k, 7) = l(Split(Split(c, "年缴费")(1), "元")(0)) '年缴费

        End If

    Next

1:     wd.Close False '关闭原始文档,并且不保存

    doc.Quit '关闭Word主程序

    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

    Application.AskToUpdateLinks = True

    If Err.Number <> 0 Then

        MsgBox Err.Description & vbCrLf & "提取出现错误,联系作者解决!"

    End If

    MsgBox "提取完成!"

End Sub

Function l(s)

    l = Replace(s, ":", "") '去除冒号自定义函数

End Function

  • 阿拉山 阿拉山(提问者) 我只是个干帆软的·,没那么大本事
    2024-09-20 14:13 
  • CD20160914 CD20160914 回复 阿拉山(提问者) 那就让业务把数据保存到数据库中去!!技能可以掌握N门。多学就行了
    2024-09-20 14:15 
  • 5关注人数
  • 120浏览人数
  • 最后回答于:4 小时前
    请选择关闭问题的原因
    确定 取消
    返回顶部