office open xml序列化为tsl
Go to file
csh 9101d13b21 update 2024-09-06 13:44:23 +08:00
autoclass update 2024-09-06 13:44:23 +08:00
docx update docxconfig 2024-09-02 13:52:39 +08:00
openxml update docxconfig 2024-09-02 13:52:39 +08:00
pptx 1. 升级装饰器和适配器代码 2024-08-05 11:37:00 +08:00
utils 1. 单位装饰器支持INT转换 2024-08-14 13:45:00 +08:00
.gitignore Initial commit 2024-06-25 15:56:31 +08:00
README.md update README 2024-08-23 10:54:50 +08:00
cp.ps1 v1.0.0 2024-06-25 16:19:20 +08:00

README.md

Office

说明

将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即可