【发布时间】:2012-10-27 23:36:19
【问题描述】:
我有一个 Word 文档(2003 年)。我正在使用 Powershell 来解析文档的内容。 该文档在顶部包含几行文本、十几个列数不同的表格,然后是更多文本。
我希望能够像下面这样阅读文档:
- 阅读文档(制作必要的对象等)
- 获取每一行文本
- 如果不是表格的一部分,则作为文本处理并写入输出
- 其他
- 如果是表格的一部分
- 获取表号(按顺序)并根据列解析输出
- 结束如果
下面是我已经开始写的powershell脚本:
$objWord = New-Object -Com Word.Application
$objWord.Visible = $false
$objDocument = $objWord.Documents.Open($filename)
$paras = $objDocument.Paragraphs
foreach ($para in $paras)
{
Write-Output $para.Range.Text
}
我不确定 Paragraphs 是否是我想要的。有什么更适合我的目的吗? 我现在得到的只是文档的全部内容。我如何控制我得到的东西。就像我想得到一条线一样,能够确定它是否是表格的一部分,并根据它是什么数字表格采取行动。
【问题讨论】:
-
Word 文档没有按行组织。请退后一步,描述您要解决的问题,而不是您认为的解决方案。
-
当然 - 感谢您的回复...所以我有这个包含一些文本和大约 5 或 6 个表格的 word 文档。每个表的列数从 2 到 6 不等。每个表的第一行描述标题。我想要完成的是(使用 Powershell)读取文档、解析表的内容并输出可以针对 Oracle 数据库单独运行的 sql 语句。现在我有很多这样的文件,每个文件的结构都相似。但每个表中的行可能或多或少。
标签: powershell ms-word