报错:System.NullReferenceException: 未将对象引用设置到对象的实例。

本人小白,想实现将网页的表写入到word中并导出到本地。但是总是报错“System.NullReferenceException: 未将对象引用设置到对象的实例。
代码部分如下


 protected void docWriteIn2(string TemplatePath)
        {
            Aspose.Words.Document Doc = new Aspose.Words.Document(TemplatePath); //载入模板
            DocumentBuilder builder = new DocumentBuilder(Doc);
            NodeCollection tables = Doc.GetChildNodes(NodeType.Table, true);

            Aspose.Words.Tables.Table table1 = tables[0] as Aspose.Words.Tables.Table;


            builder.MoveToBookmark("QInspectionDepartId");
            builder.Write(QInspectionDepartId.Text.Trim());
            builder.MoveToBookmark("Number");
            builder.Write(Number.Text.Trim());
            builder.MoveToBookmark("QQuantity");
            builder.Write(QQuantity.Text.Trim());
            builder.MoveToBookmark("QualifiedQuantity");
            builder.Write(QualifiedQuantity.Text.Trim());
            builder.MoveToBookmark("UqualifiedQuantity");
            builder.Write(UqualifiedQuantity.Text.Trim());
            builder.MoveToBookmark("PassRate");
            builder.Write(PassRate.Text.Trim());

            //拿到第一个表格:tableindex=0
            Aspose.Words.Tables.Table table2 = tables[1] as Aspose.Words.Tables.Table;
            //拿到第二行的row模板:rowindex=1
            var roww = table2.Rows[1];
            if (Session["receiptNumber"]!=null)
            {
                var TestInfo = Testinfo.findTestInfo(Session["receiptNumber"].ToString());
**                QInspectionDepartId.Text = contextdb.S_Department_Info.Single(u => u.id == TestInfo.InspectionDepartId).DepartmentName;
**                              **//**这里肯定是有问题的**,问题出现在上面这一行****
            // 第二行QInspectionDepartId.Text = contextdb.S_Department_Info.Single(u => u.id == DepartId).DepartmentName;
            }
            var TestBasicInfoList = db.GetTable<K_QCM_TestBasicInfo>();
            var TargetListInfoList = db.GetTable<K_QCM_Target_List>();
            var node_table = db.GetTable<K_QCM_Score_Tree>();
            var TestBasic = from t in TestBasicInfoList
                            where t.SourceNumber == Session["receiptNumber"].ToString()
                            select t;
            var list = edit2.findReceiptGiven(Session["receiptNumber"].ToString());
            var DetailInfoList = db.GetTable<K_W_Receipt_DetailInfo>();
            var ReceiptDetail = from t in DetailInfoList
                               where t.ReceiptNumber == Session["receiptNumber"].ToString()
                               select t;
            int n = 0;
            foreach (var s in TestBasic)
            {
                var TargetDetail = from t in TargetListInfoList
                                   where t.ProductNumber == s.InspectionNumber
                                   select t;

                foreach (var i in TargetDetail)
                {
                    //Button Button1 = new Button();
                    //Button1.Text = "按钮";
                    //Button1.ID = i.id.ToString();
                    //Button1.Click += new System.EventHandler(Button1_Click);
                    int nodeId = db.K_QCM_Score_Tree.Single(u => u.ParentId == 0 && u.SchemaId == i.SchemaId).id;
                    float value = float.Parse(db.K_QCM_Score_Value.Single(u => u.TargetId == i.id && u.NodeId == nodeId).Value.ToString());
                    K_QCM_Score_Tree selected_node = node_table.Single(h => h.id == nodeId);
                    if (value == 0)
                    {
                        K_P_Product product = edit.findProductFromCoding(i.ProductCode);

                        //复制第2行
                        var row = roww.Clone(true);
                        //将复制的行插入当前行的上方
                        table2.Rows.Insert(1 + n, row);

                        //光标移动到:第一个表格的,第1行的第1列的格子里
                        builder.MoveToCell(1, n + 1, 0, 0);
                        //给序号填充内容
                        builder.Write((n + 1).ToString());

                        //给产品名称单元格填充内容
                        builder.MoveToCell(1, 1 + n, 1, 0);
                        builder.Write(i.ProductName);

                        //给规格型号填充内容
                        builder.MoveToCell(1, 1 + n, 2, 0);
                        builder.Write(product.Norm);

                        //给单位填充内容
                        builder.MoveToCell(1, 1 + n, 3, 0);
                        builder.Write(product.Unit);

                        //给数量填充内容
                        builder.MoveToCell(1, 1 + n, 4, 0);
                        builder.Write("1");

                        //
                        builder.MoveToCell(1, 1 + n, 5, 0);
                        builder.Write("不合格");
                        //总计
                    }
                    else
                    {
                        K_P_Product product = edit.findProductFromCoding(i.ProductCode);
                        //复制第2行
                        var row = roww.Clone(true);
                        //将复制的行插入当前行的上方
                        table2.Rows.Insert(1 + n, row);

                        //光标移动到:第一个表格的,第1行的第1列的格子里
                        builder.MoveToCell(1, n + 1, 0, 0);
                        //给序号填充内容
                        builder.Write((n + 1).ToString());

                        //给产品名称单元格填充内容
                        builder.MoveToCell(1, 1 + n, 1, 0);
                        builder.Write(i.ProductName);

                        //给规格型号填充内容
                        builder.MoveToCell(1, 1 + n, 2, 0);
                        builder.Write(product.Norm);

                        //给单位填充内容
                        builder.MoveToCell(1, 1 + n, 3, 0);
                        builder.Write(product.Unit);

                        //给数量填充内容
                        builder.MoveToCell(1, 1 + n, 4, 0);
                        builder.Write("1");

                        //检验结果
                        builder.MoveToCell(1, 1 + n, 5, 0);
                        builder.Write("合格");
                    }
                    n = n + 1;

                }
            }
            string docName = "word文档";



            Doc.Save(docName + ".doc", Aspose.Words.SaveFormat.Doc, SaveType.OpenInWord, Response);



        }

报错详细如下
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
有人知道怎么解决吗?

2个回答

看哪一行代码报错,再看哪一个变量是null,想办法让它不要null

                var TestInfo = Testinfo.findTestInfo(Session["receiptNumber"].ToString());
**                QInspectionDepartId.Text = contextdb.S_Department_Info.Single(u => u.id == TestInfo.InspectionDepartId).DepartmentName;

可能是你查询出来没数据,然后你又使用了它的属性

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
新手提问:异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
-
System.NullReferenceException: 未将对象引用设置到对象的实例。
-
System.NullReferenceException: '未将对象引用设置到对象的实例。'
-
软件登录时提示System.NullReferenceException未被引用到实例
-
“System.NullReferenceException”类型的异常在 YC.dll 中发生
-
C#:未将对象引用设置到对象的实例 (System.NullReferenceException)
-
话说在MVC未将对象引用到实例这个一般是什么导致的呢
-
未提示错误,但是运行时出错
-
加急:NullReferenceException: 未将对象引用设置到对象的实例
-
mvc 中action 获取不到session 值
-
应用程序中的服务器错误,未将对象引用设置到对象的实例。应该怎么改,我是一个小白。谢谢大家
-
未将对象引用设置到对象的实例。
-
用户代码未处理 System.TypeInitializationException”
-
未将对象引用设置到对象的实例怎么办??
-
MVC4发布后运行Index页面引用母版页报错
-
请大神帮忙解决NET Framework问题
-
“/”应用程序中的服务器错误。
-
程序员实用工具网站
目录 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、算法 11、在线工具宝典大全 程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。 1、搜索引擎 1.1、秘迹搜索 一款无敌有良心、无敌安全的搜索引擎,不会收...
史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
网上很多整合SSM博客文章并不能让初探ssm的同学思路完全的清晰,可以试着关掉整合教程,摇两下头骨,哈一大口气,就在万事具备的时候,开整,这个时候你可能思路全无 ~中招了咩~ ,还有一些同学依旧在使用eclipse或者Myeclipse开发,我想对这些朋友说IDEA 的编译速度很快,人生苦短,来不及解释了,直接上手idea吧。这篇文章每一步搭建过程都测试过了,应该不会有什么差错。本文章还有个比较优秀的特点,就是idea的使用,基本上关于idea的操作都算是比较详细的,所以不用太担心不会撸idea!最后,本文
我的 Input框 不可能这么可爱
作者:陈大鱼头 github: KRISACHAN &lt;input /&gt; 标签是我们日常开发中非常常见的替换元素了,但是最近在刷 whattwg 跟 MDN 的时候发现 跟 &lt;input /&gt; 有很多相关的属性,选择器都没怎么用过,所以就开篇文章来整理一下一些比较有趣或者实用的知识点。 本篇文章默认大家已经知道 &lt;input /&gt; 标签的基本用法,不会做过...
爬虫小程序 - 爬取王者荣耀全皮肤
你也想要王者荣耀全皮肤吗?
动态规划入门到熟悉,看不懂来打我啊
2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3, 5, 8, 13, ...
挑战10个最难的Java面试题(附答案)【上】
这是收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 Java 面试中被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。 1 为什么等待和通知是在 Object 类而不是 Thread 中声明的? 一个...
GitHub开源的10个超棒后台管理面板
目录 1、AdminLTE 2、vue-Element-Admin 3、tabler 4、Gentelella 5、ng2-admin 6、ant-design-pro 7、blur-admin 8、iview-admin 9、material-dashboard 10、layui 项目开发中后台管理平台必不可少,但是从零搭建一套多样化后台管理并不容易,目前有许多开源、免费、...
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
面试官,不要再问我三次握手和四次挥手
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手 求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就...
一生必看的纪录片
下面按对自己的影响/感悟程度来排序 《人生七年》 概要:人生七年》又称作《56up》也是非常多的网友在看过之后,都让自己陷入了一些思考,对人生思考有一定影响力的纪录片之一导演从1964年开始第一部,在英国找来了不同阶级的十几个七岁的孩子,有男生和女生。有上流社会,也有农场主的儿子等等从七岁开始采访,然后每隔七年就进行一次采访谈话直到现在已经是56岁的时候,在看的时候一定会感慨万千沉思许久,会...
数据结构:史上最全排序算法合集
收录总结了计数排序,选择排序,冒泡排序,基数排序以待更新
MySQL数据库—SQL汇总
一、准备 下文整理常见SQL语句的用法,使用MySQL5.7测试,参考了尚硅谷MySQL教程及用例。用例sql: 链接: https://pan.baidu.com/s/1tb3-12MRNFjV8drFlN6wzg&amp;shfl=sharepset 密码: fc2h 为了方便查阅可从右侧目录快速索引 二、DQL(Data Query Language)数据查询语言 1、语句顺序 书写顺序...
java学习路线导航【教学视频+博客+书籍整理】
在博主认为,学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,博主将为各位保驾护航,各位赶紧冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 Java基础教学视频 Java零基础教程视频(适合Java 0基础,Java初学入门)【推荐】 JavaSE进阶入门项目实战视频教程_动力节点【推荐】 毕向东Java基础视频教程...
HTML CSS整理笔记
常见字体单位: 1.em 移动端常用的字体尺寸单位,说白em就相当于“倍”,比如设置当前的div的字体大小为1.5em,则当前的div的字体大小为:当前div继承的字体大小*1.5。 但当div进行嵌套时,em始终按当前div继承的字体大小来缩放。 2.rem r是root的意思,即相对于根节点html的font-size进行缩放,当有嵌套关系时,嵌套关系的元素的字体大小始终按照根节点的字体大小...
为什么你学不会递归?告别递归,谈谈我的经验
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! 可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
大学四年,我把私藏的自学「学习网站/实用工具」都贡献出来了
在分享之前,先说说初学者如何学习编程,这个话题想必非常的重要,要学好编程,给你一些学习网站也好、实用工具也好,但前提是你知道如何去学习它。 见过很多初学者,以及小鹿我刚开始学习的时候,也是自己瞎摸索,找不到路子,看什么书?看什么资料?编程的方向太多了,如果确定自己的方向?尤其是上大一、大二甚至大三还没有确定自己到底是学习前端还是后天,每天这学一点,那学一块,掌握那么多,没有一门精通的,去面试的时候...
中国麻将:世界上最早的区块链项目
中国麻将:世界上最早的区块链项目 最近区块链这个玩意又被市场搞的很是火热,相信大部分人都不太清楚这玩意到底是怎么样的一个概念,它来了,它来了,它到底是啥~ 国家都开始发文支持了,下面是一个通俗易懂的例子:中国麻将。 甲首先发起一个申请,我要打麻将,组建一个麻将局,这就相当于创建一个区块,这个区块会被广播...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
Python 基础(一):入门必备知识
Python 入门必备知识,你都掌握了吗?
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长 ...
2019年11月中国编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
python学习目录
这是我学习python的一套流程,从入门到上手 一、Python入门、环境搭建、变量、数据类型 二、Python运算符、条件结构、循环结构 三、Python函数 四、做一次综合练习,做一个控制台的员工管理 """ 需求:员工管理系统 功能: 1.添加员工信息 2.删除员工信息 3.修改员工信息 4.查看单个员工信息 5.查看所有员工信息 6.退出 技术:函数、数据类型(字典列表)、循环、条...
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
相关热词 c#框架设计 c# 删除数据库 c# 中文文字 图片转 c# 成员属性 接口 c#如何将程序封装 16进制负数转换 c# c#练手项目 c#字段在哪加入 c# 的asp网页倒计时 c# 模拟 鼠标
立即提问