导出excel提示cellRow value 65536 must be between 1 and 65534

问题描述

导出excel提示错误cellRowvalue65536mustbebetween1and65534///<summary>///创建一个Excel文件(MyXls)///</summary>///<paramname="strPath">文件路径</param>///<paramname="strFileName">文件名</param>///<paramname="dtClolumn">列定义</param>///<paramname="dtData">数据</param>publicstaticvoidCreateExcelFile(stringstrPath,stringstrFileName,DataTabledtClolumn,DataTabledtData){XlsDocumentdoc=newXlsDocument();doc.DocumentSummaryInformation.Company="ZHXSOFTWARE";doc.FileName=strFileName;Worksheetsheet=doc.Workbook.Worksheets.Add("Data");org.in2bits.MyXls.Cellcell;XFcellXF=doc.NewXF();cellXF.VerticalAlignment=VerticalAlignments.Centered;cellXF.HorizontalAlignment=org.in2bits.MyXls.HorizontalAlignments.Centered;cellXF.Font.FontName="Arial";//cellXF.Font.Height=48*20;cellXF.Font.Bold=false;cellXF.Pattern=1;//设定单元格填充风格。如果设定为0,则是纯色填充(无色),1代表没有间隙的实色cellXF.PatternColor=Colors.Grey;//设定填充线条的颜色cellXF.PatternBackgroundColor=Colors.Grey;//填充的底色intn;DataViewdvClolumn=dtClolumn.DefaultView;dvClolumn.RowFilter="isnull(groupname,'')<>''";//多抬头处理if(dvClolumn.Count>0){n=1;for(inti=0;i<dtClolumn.Rows.Count;i++){cell=sheet.Cells.Add(1,i+1,dtClolumn.Rows[i]["Caption"].ToString(),cellXF);}stringgroupname="";stringold_groupname="";for(inti=0;i<dtClolumn.Rows.Count;i++){groupname=dtClolumn.Rows[i]["groupname"].ToString();//左右单元格合并if(groupname!=""){if(old_groupname!=groupname){dvClolumn.RowFilter="groupname='"+groupname+"'";intj=dvClolumn.Count+i;MergeAreameaa=newMergeArea(1,1,i+1,j);//一个合并单元格实例(合并第1行、第2例到第5行、第7例)sheet.AddMergeArea(meaa);//填加合并单元格cell=sheet.Cells.Add(1,i+1,groupname);i=j-1;}old_groupname=groupname;}else{//上下单元格合并MergeAreameaa=newMergeArea(1,2,i+1,i+1);sheet.AddMergeArea(meaa);cell=sheet.Cells.Add(1,i+1,dtClolumn.Rows[i]["Caption"].ToString());}}}else{n=0;}//列头定义for(inti=0;i<dtClolumn.Rows.Count;i++){SetCloumnWidth(doc,sheet,i,int.Parse(dtClolumn.Rows[i]["width"].ToString()));cell=sheet.Cells.Add(n+1,i+1,dtClolumn.Rows[i]["Caption"].ToString(),cellXF);}//数据cellXF.Pattern=0;objectval="";stringdtype="";for(inti=0;i<dtData.Rows.Count;i++){for(intj=0;j<dtClolumn.Rows.Count;j++){val=dtData.Rows[i][j]==DBNull.Value?"":dtData.Rows[i][j].ToString();//val=val.ToString().Trim()==""?"":val;dtype=dtData.Rows[i][j].GetType().Name;if(val.ToString()!=""){val=Convert.ToString(val);cell=sheet.Cells.Add(i+n+2,j+1,val,cellXF);}}}dtClolumn.Dispose();dtData.Dispose();doc.Save(strPath,true);}

解决方案

解决方案二:
cellRow的范围是1到65534,你赋值65536所以报错了

时间: 2024-10-03 18:54:17

导出excel提示cellRow value 65536 must be between 1 and 65534的相关文章

java web-JavaWeb导出Excel,提示格式与文件扩展名不一致

问题描述 JavaWeb导出Excel,提示格式与文件扩展名不一致 下载部分代码如下 我是参考别人的代码,很多地方不懂,希望大牛解答! <%@ page language="java" contentType = " text/html;charset=utf-8" import="java.util.*,java.io.File,java.io.*,java.net.*,com.model.*,com.controller.*" page

水晶报表导出EXCEL时提示&amp;amp;quot;内存不足以完成操作&amp;amp;quot;

问题描述 我的软件是VS2005+SQL2000做的!在正版的XPhome里导出EXCEL水晶报表就会提示"内存不足以完成操作"在翻版的XP里是正常!有没有办法在不换系统情况下解决? 解决方案 解决方案二:尽于找到解决办法了!!在我的电脑里的高级选项里的环境变量更改.修改temp到C盘根目录下就行了!!解决方案三:ding!!!!!!!!!!!!!解决方案四:你的意思是说我要是给客户他也要将TEMP设置到C根目录下???解决方案五:这样要求每个人都这么设置不大现实.解决方案六:说的是服

ASP.NET导出Excel打开时提示:与文件扩展名指定文件不一致解决方法_实用技巧

"将页面显示的GridView中的数据,导出到Excel表格中"时遇到这样一个错误: C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致.具体提示如图: 解决办法:这里采用"修改注册表的方法"解决此问题,这并没从根上解决问题: 1.打开注册表编辑器方法:开始 -> 运行 -> 输入regedit -> 确定 2.找到注册表子项HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Exc

.net2003做的网站,在win7下,不能正常导出excel数据格式,总出现aspx格式的下载文件提示。

问题描述 别人做的.net2003做的网站,现在在win7下,不能正常导出excel数据格式,总出现aspx格式的下载文件提示.做的人早已离职了,来这里请教各位高手怎么解决. 解决方案 解决方案二:额...我也遇到过该问题,不过我碰到的是如果用IE或浏览器自带的下载的话下载的就是正确的Excel文件,如果是迅雷那就是Aspx页面这个时候要不就是1.按住Ctrl键不放然后在点击下载按钮.2设置迅雷取消监听浏览器这样就不使用迅雷下载.解决方案三:谢谢关注哈我这是刚刚安装win7系统,没有装迅雷那些下

JAVA导出EXCEL并下载

JAVA导出EXCEL并下载 一 ,流程大致如下 1.JSP页面点击按钮 2.点击导出excel按钮 3.点击确定按钮 (1)在谷歌浏览器中会直接下载 (2)在ie浏览器会提示保存路径 4.最后下载保存到本地,打开Excel表格,效果如下. 二,下面来看具体代码 前端js代码 function exportExcel() { $.messager.confirm('确认', '确认把该搜索结果导出Excel表格 ?', function(r) { if (r) { var startTime =

PHP导入和导出Excel文件

一.PHP导出Excel文件 1:第一推荐无比风骚的PHPExcel,官方网站: http://www.codeplex.com/PHPExcel导入导出都成,可以导出office2007格式,同时兼容2003 2.使用pear的Spreadsheet_Excel_Writer类下载地址: http://pear.php.net/package/Spreadsheet_Excel_Writer此类依赖于OLE,下载地址:http://pear.php.net/package/OLE需要注意的是导

一个通用的Datagrid导出Excel打印的源函数

datagrid|excel|打印|导出excel|函数 一个通用的Datagrid导出Excel打印的源函数闲暇之余,写成函数,供新人研究学习 'Power by:Landlordh '列宽默认为datagird的tablestyles(0)列宽的五分之一 'G2E(dg1) Public Function G2E(ByVal dg As DataGrid) Dim dt As New DataTable Try dt = CType(dg.DataSource, DataTable) Cat

PHP导入导出Excel代码_php技巧

一.导入 导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载  提取码:vxyn.(注意两个文件有引用关系) <?php //传入要导入的Excel的文件名 function import_to_DB($filename) { require_once'reader.php'; $data = new Spreadsheet_Excel_Reader(); //创建读取Excel的对象 $data->setOutputEncoding('utf-8'); //设置

java poi2.5 导出excel 乱码问题

问题描述 java poi2.5 导出excel 乱码问题 我在代码里有设置编码 在某个单元格设置"单位"中文字符后,导出的excel就出现乱码的问题,求解答,网上百度了几种方法都不行.谢谢各位了 解决方案 1.每次打开excel就会提示:"此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数.关闭其他文档再试一次可能有用." 解决办法:是因为创建的字体太多了,当调用HSSFWorkbook的createFont之后就创建一种字体,就算字体属性完全一样也