将数据导出至EXCEL时出现的问题

问题描述

我使用excel.ActiveWorkbook.SaveAs(strExcelFileName+".XLS",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);方法将SQLSERVER数据导出至EXCEL,刚开始我机器上装的是EXCEL2003,能正确导出后来我机器上装了EXCEL2007(但EXCEL2003依旧保留)后,导出就会报“HRESULT”错误,后来发现是使用Excel.XlFileFormat.xlExcel9795参数出现错误,请问xlExcel9795代表什么?为什么我装了EXCEL2007后就不能再用这个参数?但我EXCEL2003还在啊,而且COM引用的EXCEL.DLL也还是EXCEL2003的版本还有发觉EXCEL2003的XLS的SHEET表最高只支持6万5千行数据左右,请问如果导出的数据超过此界限后能自动生成第二个SHEET表,C#的代码应该怎么写?我之前导出单个EXCELSHEET表的代码是这样写的,请问要如何修改???privatevoiddoExport(DataSetds,stringstrExcelFileName)113{114115Excel.Applicationexcel=newExcel.Application();116("c:zn.xls",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);119120introwIndex=1;121intcolIndex=0;122123excel.Application.Workbooks.Add(true);124125126System.Data.DataTabletable=ds.Tables[0];127foreach(DataColumncolintable.Columns)128{129colIndex++;130excel.Cells[1,colIndex]=col.ColumnName;131}132133foreach(DataRowrowintable.Rows)134{135rowIndex++;136colIndex=0;137foreach(DataColumncolintable.Columns)138{139colIndex++;140excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();141}142}143excel.Visible=false;144excel.Sheets[0]="sss";145excel.ActiveWorkbook.SaveAs(strExcelFileName+".XLS",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);146147152excel.Quit();153excel=null;154155GC.Collect();//垃圾回收156}

解决方案

解决方案二:
判断行数,超过60000行就另开一个sheet再继续保存。
解决方案三:
请问具体代码应该如何写?引用1楼badtank的回复:

判断行数,超过60000行就另开一个sheet再继续保存。

解决方案四:
Excel._WorkbookxBk;//工作薄Excel._WorksheetxSt;//工作SheetxBk=myExcel.Workbooks.Add(true);xSt=(Excel._Worksheet)xBk.ActiveSheet;xSt.Name="Sheet1";新加一个Sheet1,继续60000以后的行。。

时间: 2024-09-22 19:06:03

将数据导出至EXCEL时出现的问题的相关文章

c#-将datagridview的数据导出为excel时出现异常

问题描述 将datagridview的数据导出为excel时出现异常 "System.InvalidCastException"类型的未经处理的异常在 FaceTest.exe 中发生 其他信息: 无法将类型为"Microsoft.Office.Interop.Excel.ApplicationClass"的 COM 对象强制转换为接口类型"Microsoft.Office.Interop.Excel._Application".此操作失败的原因

将GridView中的数据导出为EXCEL时,文件中有控件出现(急)

问题描述 我在GridView中用了Button和DropDownList,但是在導出為EXCEL時出現了這些控件,請問怎樣解決呢,而且我不想讓"編輯"(button)和"刪除"(button)"出現在EXCEL中,怎樣做才能實現呢,大家幫幫我好嗎?先謝謝了 解决方案 解决方案二:excel可以兼容html的table及样式你的gridview导出我不知道是怎么实现的但是你可以提取该gridview的代码remove掉button等代码再write出去解决

PHP将Excel导入数据库及数据库数据导出至Excel的方法

         本文实例讲述了PHP将Excel导入数据库及数据库数据导出至Excel的方法.分享给大家供大家参考.具体实现方法如下:          一.导入           导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载 提取码:vxyn.(注意两个文件有引用关系) ? 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 <?php //传入要导入的Excel的文件

asp代码实现access数据导出到excel文件

  asp代码实现access数据导出到excel文件: 一,下面是导出XLS格式 <%  dim referer  referer = Request.ServerVariables("HTTP_REFERER")  Dim CName,action  action=request.Form("action")  CName="../../Excel/"  dim daytime  'daytime=year(now())&&qu

机房收费系统——VB将MSHflexgrid控件中的数据导出为Excel

            在做机房收费系统的时候,许多窗体用到的一个功能,就是将从数据库中提取出来的数据导出到Excel中.   首先,引用Microsoft Excel 14.0 Object Library   然后,写代码     Public Sub OutDataToExcel(Flex As MSHFlexGrid) '导出至Excel Dim i As Integer Dim j As Integer Dim Line As Integer Dim outExcel As Excel

Dwz与thinkphp整合下的数据导出到Excel实例_php实例

本文实例讲述了Dwz与thinkphp整合下的数据导出到Excel的方法.分享给大家供大家参考.具体方法如下: 这个问题困扰了我很久,终于还是自己写JQUERY把它搞掂了,希望能对遇到同样问题的人有所帮助,好吧,下面就是源代码: jquery代码如下: 复制代码 代码如下: $(function(){            //_getIds方法就是获取已选的要导出的数据的ID,设了两个参数selectedIds--已选id的input名称,targetType-->碎片模式,默认是navTab

使用C#或javascript将Table里的数据导出到Excel

原文:使用C#或javascript将Table里的数据导出到Excel Demo效果图: 用C#将Table数据导出Excel:  本方法已经将导出excel做成分部视图,引用时只需在视图中使用如下代码即可: @{ Html.RenderAction("Index", "ExportExcel", new { divId = "report", filename = "hidTitle" }); } 其中divId为tabl

PHP将Excel导入数据库及数据库数据导出至Excel的方法_php技巧

本文实例讲述了PHP将Excel导入数据库及数据库数据导出至Excel的方法.分享给大家供大家参考.具体实现方法如下: 一.导入 导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载  提取码:vxyn.(注意两个文件有引用关系) <?php //传入要导入的Excel的文件名 function import_to_DB($filename) { require_once'reader.php'; $data = new Spreadsheet_Excel_Reade

机房收费系统的实现:VB中如何将MSHFlexGrid控件中的数据导出到Excel

机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系统,不过并没有涉及到这个功能,因此记录于此,于己,回顾反思,于大家,分享学习. 方法一:在根目录中事先建立空的Excel表格 1.在与VB工程同一根目录中建立将要导入数据的Excel表格: 2.在VB事件中写代码: Private Sub cmdExport_Click() Dim i As Int