如何将datagridview显示内容导出为excel文件?在另外的机器上使用时有什么注意事项?

问题描述

将dataGridview中显示的数据导出生成EXCEL文件,已经编译成功,但是放到别的机器上使用的时候又不行,提示版本不对,有什么解决方法吗?运行的机器上已经装有excel。源程序如下:///<summary>///zjjzdq.com.cn///</summary>///<paramname="dt"></param>protectedvoidExportExcel(DataTabledt){if(dt==null||dt.Rows.Count==0)return;Microsoft.Office.Interop.Excel.ApplicationxlApp=newMicrosoft.Office.Interop.Excel.Application();if(xlApp==null){return;}System.Globalization.CultureInfoCurrentCI=System.Threading.Thread.CurrentThread.CurrentCulture;System.Threading.Thread.CurrentThread.CurrentCulture=newSystem.Globalization.CultureInfo("en-US");Microsoft.Office.Interop.Excel.Workbooksworkbooks=xlApp.Workbooks;Microsoft.Office.Interop.Excel.Workbookworkbook=workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);Microsoft.Office.Interop.Excel.Worksheetworksheet=(Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];Microsoft.Office.Interop.Excel.Rangerange;longtotalCount=dt.Rows.Count;longrowRead=0;floatpercent=0;for(inti=0;i<dt.Columns.Count;i++){worksheet.Cells[1,i+1]=dt.Columns[i].ColumnName;range=(Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1,i+1];range.Interior.ColorIndex=15;range.Font.Bold=true;}for(intr=0;r<dt.Rows.Count;r++){for(inti=0;i<dt.Columns.Count;i++){worksheet.Cells[r+2,i+1]=dt.Rows[r][i].ToString();}rowRead++;percent=((float)(100*rowRead))/totalCount;}xlApp.Visible=true;}

解决方案

解决方案二:
使用流:
解决方案三:
Excel的版本问题。http://download.csdn.net/detail/qq_17486399/9471317这是一个类,兼容15到03版本的Excel包括WPS
解决方案四:
谢谢各位了,下午试试

时间: 2024-08-01 10:32:09

如何将datagridview显示内容导出为excel文件?在另外的机器上使用时有什么注意事项?的相关文章

客户端调用服务器端的excel模板,并向此excel中特定的单元格中写入数据,最后将这个excel文件保存在客户端机器上或打印,而服务器端excel模板不变

问题描述 bs模式,vs2008,sql2005工作中遇到一个难题,向大家请教:我自己先做好excel模板,比如说"检定证书模版.xlsx",主要是设置好表头.第一列.以及表的底部的各种格式,然后将此文件放到服务器网站的文件下的一个文件夹内.客户端通过浏览器进行操作,并将从数据库把数据调入上面的模板中.通过点击一个按钮,客户端就可以完成保存此excel文件并可以直接打印.这个过程中我会从sqlserver数据库中读取到符合要求的数据,并写入到此excel文件中的特定单元格里,单元格是固

如何实现将datagridview的内容保存成excel时显示进度条

问题描述 各位大虾:请问如何在保存数据到excel的过程中显示保存的进度条那.我现在讲datagridview的内容保存到excel时总是会卡顿很久,线做一个进度条显示保存的进度.但是不知道怎么弄,求指点!注意:需要真实显示保存的进度状态. 解决方案 解决方案二:保存时如果你是遍历grid,那就加个progressbar就是了解决方案三:引用楼主guangzi8531的回复: 各位大虾:请问如何在保存数据到excel的过程中显示保存的进度条那.我现在讲datagridview的内容保存到exce

ASP.NET中把Gridview内容导出到Excel示例

第一步:先建立一个基本的aspx页面default.aspx,我们掐头去尾,只来关键的代码:  代码如下 复制代码 <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </div> <br/> <asp:

把指定的DataSet中的内容导出到Excel中

  /// <summary>  /// 把指定的DataSet中的内容导出到Excel中.  /// </summary>  /// <param name="ds">ds参数为DateSet对象</param>  /// <param name="ImpStr">该字符串用来指定一些字段来导出,其使用格式为:aaa|AAA,bbb|BBB   小写字符串为在Excel表中显示该字段的列标题,大写表示字段

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

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

ASP.NET2.0中将GridView导出到Excel文件中

下面代码实现将 GridView 导出到 Excel文件中. 值得注意的是VerifyRenderingInServerForm重载方法: MSDN上的 VerifyRenderingInServerForm 方法的描述: 必须位于 <form runat=server> 标记中的控件可以在呈现之前调用此方法,以便在控件被置于标记外时显示错误信息.发送回或依赖于注册的脚本块的控件应该在 Control.Render 方法的重写中调用此方法.呈现服务器窗体元素的方式不同的页可以重写此方法以在不同

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

jsp mysql excel-在jsp中使用jxl.jar包来将mysql搜索语句sql结果集导出到excel文件

问题描述 在jsp中使用jxl.jar包来将mysql搜索语句sql结果集导出到excel文件 整体构思是:连接数据库由DBManager.java,创建excel样式由Excel.java:最后在excel.jsp实现!但现在数据库数据并不能显示,求指教,我是java小白! Excel.java代码 package com; import java.io.*; import java.sql.*; import javax.sql.rowset.CachedRowSet; import com

birt 导出excel时,有38个字段,导出的excel文件中数据都叠在一起,格式非常难看

问题描述 birt导出excel时,有38个字段,导出的excel文件中数据都叠在一起,格式非常难看,该问题怎么解决.thx 解决方案 解决方案二:给你看看我以前servlet导出Excel的例子publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{request.setCharacterEncoding("gbk");Employ