BEAST*北大鱼 2022-02-22 09:10 采纳率: 100%
浏览 145
已结题

C# Aspose 对Word文档的操作

怎样使用aspose得到各级标题,得到标题下有多少表格,并得到表格的序号

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-02-22 09:43
    关注

    更新了下代码,非嵌套统计正确

    img

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Aspose.Words;
    
    namespace Aspose.Words
    {
        class Program
        {
            static void Main(string[] args)
            {
                Document doc = new Document(@"C:\Users\Admin\Desktop\t.docx");
                var tableCountTotal = 0;
    
    
                var ps = doc.GetChildNodes(NodeType.Paragraph, true);
                foreach(Paragraph p in ps)
                {
                    if (p.ParagraphFormat.StyleIdentifier == StyleIdentifier.Heading2)
                    {
                        var text = p.GetText().Trim();//去掉收尾空格,要不有\r打印后不显示内容,-_-||。。
    
               
                        //统计h2标题后的table数量
                        var count = 0;
                        Node node = p.NextSibling;
                         if (node != null)
                             do
                             {
                                 if (node.NodeType == NodeType.Table) count++;
                                 node = node.NextSibling;
                                 if (node == null//没有下个节点
                                     ||
                                     (//碰到下一个标题2退出table统计
                                     node.NodeType == NodeType.Paragraph
                                     && ((Paragraph)node).ParagraphFormat.StyleIdentifier == StyleIdentifier.Heading2
                                     )
                                     )
                                     break;
                             }
                             while (true);
    
                         tableCountTotal += count;
    
                        Console.WriteLine(text + "下有"+count+"个表格");
                    }
    
                }
                Console.WriteLine("总共有个表格:" + tableCountTotal + "\n");
                Console.WriteLine("H2-1\r测试");//H2-1没显示。。。还以为代码有问题了。。-_-||
                Console.ReadKey();
            }
        }
    }
    

    API参考,DOM模型


    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月2日
  • 已采纳回答 2月22日
  • 创建了问题 2月22日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化