我有几千个word,里面包含有表格,如何批量提取我想要的数据?
如果是一个word中的,复制粘贴;如果是多个word中的,需要写个代码(如下),或者在网上找一下相关的工具。
此方法适用于多个word文档里面的所有表格:1、将多个含有表格的word文档放入一个目录;2、在该目录中新建一个空的excel表格;3、在excel表格中运行以下宏命令,即可。
Sub WordTabletoExcel()Dim WordApp As Object, DOC, mTable, Fn$, Str$On Error Resume Next '设置容错代码CreateObject("wscript.shell").Run "cmd.exe /c dir """ & ThisWorkbook.Path & "\*.doc"" /s/b>""" & ThisWorkbook.Path & "\list.txt""", False, True '取得指定目录下的word文档清单Set WordApp = CreateObject("word.application") '创建word程序项目(用于操作word文档)WordApp.Visible = True '设定word程序项目可见Open ThisWorkbook.Path & "\list.txt" For Input As #1 '打开清单文件并读取内容While Not EOF(1) '循环读取清单文件各行内容Input #1, Str '输入一行文本到变量str中If Trim(Str) <> "" Then '如果文本有效则Set DOC = WordApp.documents.Open(Trim(Str)) '利用word程序项目打开对应的word文档With DOCFor Each mTable In .Tables '循环文档中的各个表格WordApp.Activate '激活word程序,使之窗体前置mTable.Range.Copy '复制表格区域With Windows(1) '激活excel程序窗体,使之前置.ActivateWith ThisWorkbook.ActiveSheet '选中当前使用区A列下面的第一个单元格,并粘贴复制的word中的表格数据.Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row + 1, 1).Select.PasteEnd WithEnd WithNext mTable.Close False '关闭word文档End WithEnd IfWendClose #1 '关闭清单文件If Dir(ThisWorkbook.Path & "\list.txt") <> "" Then Kill ThisWorkbook.Path & "\list.txt" '删除清单文件WordApp.Quit 'word程序项目关闭Set DOC = Nothing '清空对应项目变量Set WordApp = NothingEnd Sub满意请采纳哟~~~~~~
word中表格有哪三种类型
根据作用范围,Word文档可分为几种不同的样式:段落样式、字符样式、链接段落和表格样式等。
它们应用特性如下:字符样式:以字符为最小套用单位的样式。
换而言之,它可以方便的套用与选取的任意文字之上。
段落样式:以段落为最小套用单位的样式。
即使选取段落内一部分文字,套用时该样式也会自动套用至整个段落。
表格样式:只有选取表格内容时,才能创建该类样式。
创建后,此类样式不会显示至样式表,而显示在“表格工具”-“设计”选项卡-“表样式”区域内。
列表样式:只有选取的内容包含列表设置时,该选项才会可选。
创建后,此样式同样不显示样式列表,而显示于设置列表的选项中。
由于样式类别会影响样式的套用,所以在新建样式前要选取正确的样式类型。
选择样式类型的具体的操作方法如下:(1)单击“开始”选项卡,在“样式”区域单击“样式启动器”按钮。
(2)在“样式”对话框中单击“新建样式”按钮,在弹出的“根据格式设置创建新的样式”对话框中,“样式类型”选择为要创建的样式类型,如“文字”类型。
时如何在有多个表格的word中定位到其中一个表格
关键代码如下:FileInputStream fileInputStream = new FileInputStream( soureFile);POIFSFileSystem pfs = new POIFSFileSystem( fileInputStream );HWPFDocument hwpf = new HWPFDocument(pfs);// make a HWPFDocument objectOutputStream output = new FileOutputStream( targetFile );hwpf.write(output);// write to the target fileoutput.close();(2)再word中插入表格。
HWPF的情况:Table tcDataTable = range.insertTableBefore( (short)column , row);//column and row列数和行数tcDataTable.getRow(i).getCell(j).getParagraph(0).getCharacterRun(0).insertBefore("插入i行j列的内容" );XWPF的情况:String outputFile = "D:\\test.doc";XWPFDocument document = new XWPFDocument();XWPFTable tableOne = document.createTable();XWPFTableRow tableOneRowOne = tableOne.getRow(0);tableOneRowOne.getCell(0).setText("11");XWPFTableCell cell12 = tableOneRowOne.createCell();cell12.setText("12");// tableOneRowOne.addNewTableCell().setText("第1行第2列");// tableOneRowOne.addNewTableCell().setText("第1行第3列");// tableOneRowOne.addNewTableCell().setText("第1行第4列");XWPFTableRow tableOneRowTwo = tableOne.createRow();tableOneRowTwo.getCell(0).setText("21");tableOneRowTwo.getCell(1).setText("22");// tableOneRowTwo.getCell(2).setText("第2行第3列");XWPFTableRow tableOneRow3 = tableOne.createRow();tableOneRow3.addNewTableCell().setText("31");tableOneRow3.addNewTableCell().setText("32");FileOutputStream fOut;try {fOut = new FileOutputStream(outputFile);document.write(fOut); fOut.flush();// 操作结束,关闭文件fOut.close();} catch (Exception e) {e.printStackTrace();}
WORD中的表格如何保护?有个表格,要求我必须用WORD来做(在
你可以用“文字型窗体域”制作表格。
单击“窗体”工具栏上的【保护窗体】按钮,此时窗体处于保护状态,这样不仅可以做到避免文档的格式被破坏,更重要的用户只可以在窗体里输入信息,不能在窗体以外的地方输入。
所以你的问题补充中说的想让使用人只能录入表格中的某几项,其他的项目(固定项目如表头)他不能修改,就可实现。
另外,每个单元格可设置最多输入的字数等等可对表格格式起保护作用。
只是其制作方法麻烦一点,这里一下说不清楚。
您可看一下网上的《使用Word实现电子表单填写》一文,网址链接如下 我附上一份这样的表格您可看一下其效果。
表格里的表格如何合并?在WORD里,一个表格里有几个小的表格,...
问题不够明确,是否只想隐去大表内小表的表格线只留下文字?如果是想达到这个效果,可以选择相应的小表格,然后将表格线隐去就可以了。
隐去表格线的方法很简单,打开工具条上的“表格与边框”工具条,当你选中想隐去表格线的小表格后,在“表格与边框”工具条中选择“边框线”中相应的模式,隐去小表格的表格线(见图),在页面模式中会看到小表格的边框变成了虚线,用“模拟显示”可以看到,小表格已经不存在了。
如何选中word里的所有表格?
一、Word如何删除表格之快捷键1、鼠标移到表格上,单击表格左上角的带箭头的十字架选中表格。
2、按 Shift + Delete(或 Backspace),表格连同内容一并被删除。
二、Word如何删除表格之右键1、移鼠标到表格上,点击表格左上角的带箭头的十字架选中它,右键表格。
2、选择“删除表格”,则整个表格被删除,这是Word去除表格右键法。
怎么将WORD里面的多个表格合并成一个表格?
方法如下:1、打开word;2、点击表格左上方的“表格属性”按钮;3、在“表格属性”窗口中,将两个表格的文字环绕方式都设置成“无”4、这个时候再删除独立表格之间的空行,就可以轻松的将两个表格进行合并,如下图:
word中怎么把一个表格分为两个
WORD将一个表格一分为二的方法:举例来说:我有这样一个表格:我现在要把它从第3行一分为二,步骤为:先将光标定位在第3行,然后按ctrl+shift+回车键,效果如下:
word做的表格,其中有几个单元格点击选中都不行
本人也不是很确定,您对其中一个调整时,将调整的过程录制成宏,然后对所有表格分别运行您录制的宏。
这对于五十个表格存在于五十个表格应该是可以的,如果对同一个文件中的五十个表格还要加点什么来识别,本人不会。
很遗憾,不能帮到您。
以上是对已经生成的表格而言的,如果您是需要填写如图所示的表格,则将数据保存为excel文件,在word中做一个模板,用“邮件合并”方便您的生成,效率高。
值得您百度下“邮件合并”去学习下,对您以后的使用真的有用。
祝顺利。
转载请注明出处51数据库 » 读word中有几个表格
持八尺剑立不世功