2024-09-19 10:49:36 +08:00
2024-09-19 10:45:33 +08:00
2024-08-05 11:37:00 +08:00
2024-06-25 15:56:31 +08:00
2024-09-19 10:45:33 +08:00
2024-09-19 10:49:36 +08:00

OfficeXml

说明

将docx、pptx、xlsx等文件中的xml转为tsl对象

<w:p w14:paraId="6E3ED3BE" w14:textId="77777777" w:rsidR="00C57A1E"
    w:rsidRDefault="00C57A1E" w:rsidP="00C27AE9">
    <w:pPr>
        <w:jc w:val="left" />
    </w:pPr>
    <w:r>
        <w:rPr>
            <w:rFonts w:hint="eastAsia" />
        </w:rPr>
        <w:t>最小申购、赎回单位</w:t>
    </w:r>
    <w:r>
        <w:rPr>
            <w:rFonts w:hint="eastAsia" />
        </w:rPr>
        <w:t>(份)</w:t>
    </w:r>
</w:p>

上述是一个docx中的段落的xml,序列化为tsl过程如下

namespace "DOCX"  // 设置命名空间为DOCX
p := new P();     // 创建一个P对象(段落w:p
p.Init(node);     // 假设node节点是上面的xml指向的Node对象
p.Deserialize();  // 将node对象的xml序列化到tsl对象

// 序列化完毕后,可直接对应取值
echo p.PPr.Jc.Val;      // 输出:left

// 在获取存在多个节点的对象时,比如上述的w:r对象是复数的,则需要通过Rs()获取
// 直接调用Rs()会获取所有的R对象,加上索引会获取第N+1个
echo p.Rs(1).T.Text;    // 输出:(份)

部署

将此文件夹部署到tsl解释器下的funcext即可

S
Description
office open xml序列化为tsl
Readme
3 MiB
Languages
PowerShell 100%