1、Excel数据导入到数据库中:
在页面放置1个按钮控件(Button1)和1个文件上传控件(FileUpload1)»更多DevExpress开发资源与帮助文档
   protected void Page_Load(object sender, EventArgs e)
   {
       GridView1.Visible = false;
   }
   protected void Button1_Click(object sender, EventArgs e)
   {

try
       {
           if (FileUpload1.PostedFile.FileName != "")
           {
               string filepath = FileUpload1.PostedFile.FileName;
               string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);
               string sheetname = "Sheet1";
               string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;";
               OleDbConnection conn = new OleDbConnection(strConn);
               OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "$]", conn);
               DataSet ds = new DataSet();
               oada.Fill(ds);
               GridView1.DataSource = ds;
               GridView1.DataBind();
               GridView1.Visible = true;
           }
       }
       catch (Exception error)
       {
           this.Label1.Text = "上传发生错误!原因:" + error.ToString();
       }
   }

注意把Excel文件属性中加入ASPNET用户权限,不然不能导入

3、将数据库中的数据导入Excel中,在这里我讲叙自己实践中的两个方法:

方法一:从最基本的写文件入手,将从数据库中读出来的数据写入到Excel中;

//该方法实现将数据导入到Excel文件中,其中的DataTable dt就是你需要将数据写入到Excel中的数据;
public void ExportExcel( DataTable dt , StreamWriter w )
...{
   try
   ...{
       for( int i = 0 ; i < dt.Columns.Count ; i ++ )
       ...{
            w.Write ( dt.Columns[i] );
            w.Write( ' ' );
        }
        w.Write ( " " );

object[] values = new object [dt.Columns.Count];
       foreach ( DataRow dr in dt.Rows )
       ...{
            values = dr.ItemArray ;
           for ( int i = 0 ; i < dt.Columns.Count ; i++ )
           ...{
                w.Write ( values[i] );
                w.Write ( ' ' );
            }
            w.Write ( " " );
        }
        w.Flush();
        w.Close();
    }
   catch
   ...{
        w.Close();
    }
}

StreamWriter w就是你自己创建的一个流,创建该数据流时,你需要自己指定需要将数据写入到那个文件,即指定文件路径,要实现下载的话,就可以简单的用Response.Redirect

( "指定需要被下载的文件路径" );

方法二:该方法实现的是将数据从DataGrid中导入到Excel中:

//filename为Excel的名字,ToExcelGrid就是数据源,在此为DataGrid数据源;
private void ExportExcelFromDataGrid( string filename , System.Web.UI.WebControls.DataGrid ToExcelGrid )
...{
    Response.Clear();
    Response.Buffer= true;    
    Response.Charset="utf-8";          
    Response.AppendHeader("Content-Disposition","p_w_upload;filename="+Server.UrlEncode ( filename ) );    
    Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文  
    Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。    
   this.EnableViewState = false;          
    System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);  
    System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);    
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);  
    ToExcelGrid.RenderControl(oHtmlTextWriter);    
    Response.Write(oStringWriter.ToString());  
    Response.End();

Excel导出:
页面上放一个GridView控件,ID为GridView1,添加个导出按钮ID为Button2

protected void Button2_Click(object sender, EventArgs e)
   {
       Response.Clear();
       Response.Buffer = true;
       Response.Charset = "GB2312";
       Response.AppendHeader("Content-Disposition", "p_w_upload;filename=FileName.xls");
       // 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
       Response.ContentEncoding = System.Text.Encoding.UTF7;
       Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
       System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
       System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
       this.GridView1.RenderControl(oHtmlTextWriter);
       Response.Output.Write(oStringWriter.ToString());
       Response.Flush();
       Response.End();

}

页面后台必须重写这两个方法,不然出现错误!
   public override void VerifyRenderingInServerForm( Control control )
   {

}
   protected override void Render(HtmlTextWriter writer)
   {
       if (Page != null)
       {
           Page.VerifyRenderingInServerForm(this);
       }
       base.Render(writer);
   }

将GridView打印出来,添加个打印按钮,ID为Button4
   protected void Button4_Click(object sender, EventArgs e)
   {
       Response.Write("<script> window.print()</script>");
   }

转载于:https://blog.51cto.com/mikez1026/1292381

巧用DevExpress GridView导入导出Excel相关推荐

  1. Acey.ExcelX实例演练(1)—从GridView中导出Excel报表

    Acey.ExcelX实例演练(1) -从GridView中导出Excel报表 关键词:GridView,数据绑定,Excel报表 在开发过程中我们经常遇到需要将页面中查看到的数据导出Excel的情况 ...

  2. npoi的mvc怎么ajax导出,asp.net mvc利用NPOI导入导出Excel解决方法

    asp.net mvc利用NPOI导入导出Excel 导出Excel 2003没有问题,导出Excel2007老是出现无法访问已关闭的流,请帮忙解决,或是哪位有mvc导入导出excel的工具类能提供, ...

  3. java excel data 导入数据_java实现导入导出excel数据

    项目需要,要实现一个导入导出excel的功能,于是,任务驱动着我学习到了POI和JXL这2个java操作Excel的插件. 一.POI和JXL介绍 1.POI:是对所有office资源进行读写的一套工 ...

  4. 【转】 (C#)利用Aspose.Cells组件导入导出excel文件

    Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFi ...

  5. 让 .Net 更方便的导入导出 Excel

    让 .Net 更方便的导入导出Excel Intro 因为前一段时间需要处理一些 excel 数据,主要是导入/导出操作,将 Excel 数据转化为对象再用程序进行处理和分析,没有找到比较满意的库,于 ...

  6. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

  7. java导入导出excel_Java导入导出Excel工具 easyexcel

    Java导入导出Excel工具  easyexcel 做Java开发的同学,尤其是做管理后台的同学绝大多数都会接触到报表系统,这时候就少不了Excel的导入和导出了.Java解析生成Excel比较有名 ...

  8. Java导入导出Excel工具类ExcelUtil

    前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hiberna ...

  9. com.alibaba.easyexcel导出指定的列_使用Python导入导出Excel表格

    这篇文章的目的是讲解使用python导入导出Excel表格,目前还不涉及数据处理,主要实现为数据的展示. 第一步,准备材料 python3.8的安装包 一个Excel表格 第二步,安装软件 pytho ...

最新文章

  1. SAP ABAP 点滴记录
  2. STL源代码分析(ch2 内存分配)概述
  3. HDU-1569 方格取数(2) 最小割最大流
  4. Appointment detail page loading never ends in Zeiss
  5. JAVA中的toString()方法的用法
  6. Oracle 19.8新特性asmcmd credverify and asmcmd credfix
  7. Xcode:PhoneGap 2.5.0项目创建方法
  8. mysql safe 模式_MYSQL的安全模式:sql_safe_updates介绍
  9. 计算机组成原理同步测试,计算机组成原理白中英单元练习题
  10. u盘装系统放iso文件还是gho文件?
  11. mysql安装+navicat激活
  12. 计算机毕业设计springboot基于springboot框架的企业合同管理系统设计与实现
  13. matlab正弦波用示波器测失真,请教下,自己做个正弦波信号发生器,如何测试波形的失真大小?...
  14. this.name=name;中两个name都是什么意思?
  15. 稻盛和夫的经营十二条
  16. 「Python条件结构」显示学号及提示信息
  17. unet预测图片全黑/全灰解决方案(keras)
  18. 微生物和微生物组的定义以及发展史
  19. java模糊查询、自动补全的实现
  20. Cunti 使用简介

热门文章

  1. Symantec Endpoint Protection 11 混乱的版本
  2. ASP.NET的用户控件
  3. GRDB自定义的纯函数
  4. linux nexus状态,linux 启动 nexus
  5. python连接sqlserver_python 链接sqlserver 写接口实例
  6. java线程池拒绝策略_Java核心知识 多线程并发 线程池原理(二十三)
  7. 三菱伺服电机选型手册_PLC触摸屏控制伺服电机程序设计
  8. c#结合emgucv进行人脸检测_人脸识别与测温结合在办公场景有哪些应用?
  9. [建筑可视化]Evermotion-Archinteriors for UE4
  10. 韦布望远镜睁眼看到第一缕星光,镜面校准进行时