重构机房之“导出EXCEL异常”

在重构机房,完成EXCEL导出功能时出现异常。

当运行到导出EXCEL的语句:

<span style="font-family:KaiTi_GB2312;font-size:24px;">xlApp.Cells(rowindex, colindex) = row(col.ColumnName)</span>

时,显示异常:

对此,特查找原因与解决方法,在此与大家分享,也请高手多指教呀!

原因:程序在运行调用传递地址时起冲突,导致出现此异常。

解决方法:将源代码替换成一下代码即可。

<span style="font-family:KaiTi_GB2312;font-size:24px;">Dim MyExcel As NewMicrosoft.Office.Interop.Excel.Application()
       MyExcel.Application.Workbooks.Add(True)
       MyExcel.Visible = True

       '将datagridview中的字段名导出
       Dim m As Integer
       For m = 0 To DataGridView1.ColumnCount - 1
           MyExcel.Cells(1, m + 1) = Me.DataGridView1.Columns(m).HeaderText
       Next m

       '往excel表里添加数据
       Dim i As Integer
       For i = 0 To DataGridView1.RowCount - 1
           Dim j As Integer
           For j = 0 To DataGridView1.ColumnCount - 1
                If Me.DataGridView1(j, i).ValueIs System.DBNull.Value Then

                    MyExcel.Cells(i + 2, j + 1)= ""
                Else
                    MyExcel.Cells(i + 2, j + 1)= DataGridView1(j, i).Value.ToString

                End If
           Next j
       Next i</span>
时间: 2024-11-09 04:01:21

重构机房之“导出EXCEL异常”的相关文章

解决C#导出excel异常来自 HRESULT:0x800A03EC的方法 .

解决C#导出excel异常来自 HRESULT:0x800A03EC的方法 . xlBook.SaveAs(FilePath,Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel8, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing

分页并分文件导出Excel接口Controller和Service

1 /*start---------------------------------------[导出Excel接口Controller--shiyanjun]-------------------------------------------------------------*/ 2 3 /** 4 * 功能描述:[导出Excel接口] 5 * 创建者:shiyanjun 6 * 创建时间:2014年11月25日10:00:18 周二 7 * @param columns 表头 8 * @

VB.NET版机房收费系统---导出Excel表格

datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,可以显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件非常简单和直观,大多数情况下,只需要设置DataSource属性即可,在绑定到包含多个列表或表的数据库源时,只需将DataMember属性设置为绑定的列表或表的字符串即可.机房收费系统多次用到数据表格的显示,并且导出为Excel表格,第一次机房收费系统是用VB版本的,她导出Excel的方法如下: 打开VB-工程-应用-勾选M

【机房收费系统C#版】——导出Excel

前言 机房合作開始好长了一段时间.反重复复开了几次会,项目也是一拖再拖,作为组长.有80%的责任都在于我.为了不让这个项目陪着我过春节.要求自己一定要在这几天敲完. 还是一样的问题,用C#敲,从一開始到如今,不论什么一个功能的实现都是现学现查.对于导出Excel表格这个功能来说更不是意外.在网上找了非常多资料,反重复复地做小demo,最终有了我想要的效果. 实现 首先是加入引用 然后在程序代码上加入using <span style="font-size:18px;">us

导出Excel出现“异常来自 HRESULT:0x800A03EC”错误的解决方法(已验证)

导出Excel出现“异常来自 HRESULT:0x800A03EC”错误的解决方法(已验证) 好不容易找到解决了导出数据到Excel出现“异常来自 HRESULT:0x800A03EC”的错误. 从google上搜索解决方案,网上的解决方案基本上都是说开始行的下标值写成了0导致的“excel.Cells[0, 1] = "第1行第1列";”,改为大于0就能解决,等这些都是没有效果.插入断点,调试程序,又出现“不能单步执行”的错误. 后来又仔细看了这个异常,发现异常是从 “excel.A

重构:以Java POI 导出EXCEL为例

重构 开头先抛出几个问题吧,这几个问题也是<重构:改善既有代码的设计>这本书第2章的问题. 什么是重构? 为什么要重构? 什么时候要重构? 接下来就从这几个问题出发,通过这几个问题来系统的了解重构的意义. 什么是重构? <重构:改善既有代码的设计>这本书中将重构以名词和动词形式进行解释,如下 重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本. 重构(动词):使用一系列重构的手法,在不改变软件可观察行为的前提下,调整其结构.

【ajax导出excel数据异常】

平常项目中遇到需要后台生成excel表格并导出,就想当然的前台用ajax调用,后台用Aspose.Cells.lic生成文件流并导出, 后台数据整合没什么问题,前台页面没有任何反应. 原因:ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的.文件的下载是以二进制形式进行的,ajax没法解析后台返回的文件流,所以无法处理二进制流response输出来下载文件. 解决办法: 用提交form表单的形式或者<a>标签跳转的形式导出excel 1 var url = "/abc

使用Apache POI导出Excel小结--导出XLS格式文档

使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI导出Excel小结--导出XLSX格式文档 使用Apache POI导出Excel--大数量导出 导出XLS格式文档 做企业应用项目难免会有数据导出到Excel的需求,最近在使用其,并对导出Excel封装成工具类开放出来供大家参考.关于Apache POI Excel基本的概念与操作我在这里就不啰嗦

导出excel 0kb的问题

运行导出代码,浏览器提示下载框,但是大小为0kb,跟踪代码执行情况,在这一行就结束了wb = new XSSFWorkbook( is );没有异常抛出.(可能是tomcat层面把异常处理了) 总之,找了半天问题,终于发现了,原来是jar包版本不一致造成的.看poi-ooxml-3.8的pom: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId>