asp.net+nopi生成Excel遇到设置单元格值null问题
Npoi 生成excel报表功能很不错,功能也不用给大家介绍了。首先看遇到的问题吧!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | FileStream file = new FileStream(Server.MapPath( "Templatetest.xls" ), FileMode.Open, FileAccess.Read); HSSFWorkbook existWorkbook = new HSSFWorkbook(file); HSSFSheet sheet1 = (HSSFSheet)existWorkbook.GetSheet( "Sheet1" ); sheet1.GetRow(1).GetCell(1).SetCellValue( "新闻" ); sheet1.GetRow(2).GetCell(1).SetCellValue( "娱乐" ); sheet1.GetRow(3).GetCell(1).SetCellValue( "Angel工作室" ); //Force excel to recalculate all the formula while open sheet1.ForceFormulaRecalculation = true ; //输出报表 HssfworkbookToaDownloadFile( @"测试表名称.xls" , hssfworkbooks); /// <summary> /// hssfworkbook输出为下载文件 /// </summary> /// <param name="filename"></param> private void HssfworkbookToaDownloadFile( string filename, HSSFWorkbook hssfworkbook) { if (HttpContext.Current.Request.UserAgent.ToLower().IndexOf( "msie" ) > -1) { filename = HttpContext.Current.Server.UrlPathEncode(filename); } HttpContext.Current.Response.ContentType = "application/vnd.ms-excel" ; HttpContext.Current.Response.AddHeader( "Content-Disposition" , string .Format( "attachment;filename={0}" , filename)); HttpContext.Current.Response.Clear(); MemoryStream file = new MemoryStream(); hssfworkbook.Write(file); HttpContext.Current.Response.BinaryWrite(file.GetBuffer()); HttpContext.Current.Response.End(); } |
以上代码显然是看不出哪里有问题,但是就是报空的异常。
1 | sheet1.GetRow(1).GetCell(1).SetCellValue( "新闻" );<br>这样第一行就错误报 null 异常。最后发现模板的问题,因为新建的模板没有什么值所以必须创建一下就搞定了。<br>代码如下修改: |
1 2 3 4 5 6 7 8 | if (sheet1.GetRow(1) == null ) { sheet1.CreateRow(1); } if (sheet1.GetRow(1).GetCell(1) == null ) { sheet1.GetRow(1).CreateCell(1); } |
希望能帮到大家,有什么技术问题大家可以讨论。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端