Eclipse开发平台 Eclipse集成开发环境 Java技术参考 J2EE企业应用项目 J2EE开发框架整合应用
Visual Studio 2008 技术 Visual Studio 2008集成环境 LINQ SQL Server 2008数据库 Silverlight WCF WPF WWF
平台综合 开发平台技术动态 跨平台开发 软件信息技术与商业 国外媒体技术资讯
程讯网下载 精品代码 — J2EE应用下载 精品代码 — ASP.NET应用 常用J2EE开发框架 流行ASP.NET开发框架

搜索
Google
 
最新文章
对“职业生涯及规划”的一些想法与建议
 
Visual Studio 10将会怎样?
 
三十怎么了? 心态最重要!
 
访问Microsoft格式文件的Jakarta-POI API库的.NET版本
 
dashCommerce 3.X如何安装Microsoft SQL Server 2005 Express Edition的高级服务功能
 
.net 2.0运行时提示以下错误:authentication mode=Windows 解决方法如下
 
在浏览器中发贴子时实现自动添加贴子签名档的BHO对象设计
 
C#下用Browser Helper Object对象实现拦截IE浏览器的各项消息的IE插件
 
Build a Managed BHO and Plug into the Browser
 
在C#中用WM_COPYDATA消息来实现进程间通信的详细编码
 
BHO 浏览器辅助对象关联原理、编写流程
 
Oracle8i的卸载
 
Oracle9i图形工具OEM的简介
 
详细介绍整个Oracle9i软件的安装过程
 
C# 面向对象设计模式纵横谈 - 18、Iterator迭代器(行为型模式)
 
 
将DataGrid内容生成标准的Excel格式电子表格文件具体步骤代码 - .NET技术博客圈、俱乐部群观点精华
 
内容摘要 -


全文 -

将DataGrid内容生成标准的Excel格式电子表格文件具体步骤代码


用传统的导出方法:只是将DataGrid信息用html输出,文件名后辍是.xls而已。
如果想将这个方法导入到Sql Server 中,会提示出错。因为它不是标准的Excel格式文件。

用本例中的导出方法:会输出标准的Excel格式文件,非常稳定,不会死锁Excel进程,支持中文文件名,支持表头导出,
支持大多数数据库导入。
实现算法:

   利用Excel组件将DataGrid控件内容生成Excel临时文件,并存放在服务器上,然后用Response方法将生成的Excel文件下载到客户

端然后再将生成的临时文件删除。

具体步骤:
1.在项目中引用Excel组件
Interop.Excel.dll 文件版本1.3.0.0
2.项目中应有一个目录(本例中Template目录),以便存放Excel文件(名字自己定)
3.导入方法类
 
protected void ExportToExcel(System.Web.UI.WebControls.DataGrid grid,string fileName)
        {
            string templetFilePath;
            templetFilePath = Server.MapPath("../").ToString() + @"Template\";
            object missing = Missing.Value;
            Excel.Application app;
            Excel.Workbook workBook;
            Excel.Worksheet workSheet;
            Excel.Range range;


            //创建一个Application对象并使其不可见
            app = new Excel.ApplicationClass();
            app.Visible=false;

           
            //打开模板文件,得到WorkBook对象
            //workBook = app.Workbooks.Open(templetFilePath + "SuperTemplet.xls", missing, missing, missing,

missing, missing,
            //    missing, missing, missing, missing, missing, missing, missing);

            //创建一个WorkBook对象
            workBook = app.Workbooks.Add(missing);
            //得到WorkSheet对象
            workSheet = (Excel.Worksheet)workBook.Sheets.get_Item(1);

            int rowCount = grid.Items.Count + 1;  //DataTable行数+GirdHead(因为DataGrid头还有一例所以得加1)
            int colCount = grid.Columns.Count;//DataTable列数

            //利用二维数组批量写入

9 7 3 1 2 3 4 4 8 :

 
相关内容
查找更多 ◇ .NET技术博客圈、俱乐部群观点精华