zoukankan      html  css  js  c++  java
  • C#数据导出到excel

    1.从excel直接读入数据库

    insert into t_test ( 字段 )

    select 字段

    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
    'Data Source="C:\test.xls";
    User ID=Admin;Password=;
    Extended properties=Excel 8.0')...[sheet1$]

    2.从数据库直接写入excel


    exec master..xp_cmdshell ' bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout c:\test.xls -c -S"soa" -U"sa" -P"sa" '   注意参数的大小写,另外这种方法写入数据

    的时候没有标题

    3.从DataTable导出到excel

      StringWriter stringWriter = new StringWriter();
       HtmlTextWriter htmlWriter = new HtmlTextWriter( stringWriter );
       DataGrid excel = new DataGrid();
       System.Web.UI.WebControls.TableItemStyle AlternatingStyle = new TableItemStyle();
       System.Web.UI.WebControls.TableItemStyle headerStyle = new TableItemStyle();
       System.Web.UI.WebControls.TableItemStyle itemStyle = new TableItemStyle();
       AlternatingStyle.BackColor = System.Drawing.Color.LightGray;
       headerStyle.BackColor =System.Drawing.Color.LightGray;
       headerStyle.Font.Bold = true;
       headerStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
       itemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;;

       excel.AlternatingItemStyle.MergeWith(AlternatingStyle);
       excel.HeaderStyle.MergeWith(headerStyle);
       excel.ItemStyle.MergeWith(itemStyle);
       excel.GridLines = GridLines.Both;
       excel.HeaderStyle.Font.Bold = true;
       excel.DataSource = dt.DefaultView;   //输出DataTable的内容
       excel.DataBind();
       excel.RenderControl(htmlWriter);
     
       string filestr = "d:\\data\\"+filePath;  //filePath是文件的路径
       int pos = filestr.LastIndexOf( "\\");
       string file = filestr.Substring(0,pos);
       if( !Directory.Exists( file ) )
       {
        Directory.CreateDirectory(file);
       }
       System.IO.StreamWriter sw = new StreamWriter(filestr);
       sw.Write(stringWriter.ToString());
       sw.Close();

       //直接输出
       //Response.ContentType = "application/vnd.ms-excel";
       //Response.ContentEncoding = System.Text.Encoding.UTF8;
       //Response.Charset = "";
       //Response.Write(stringWriter.ToString()); 
       //Response.End();

  • 相关阅读:
    UTF8编码的空格(194 160)问题
    经典sql语句大全
    Workflow 4.0 中三种方式实现workflow的触发调用
    VS2010 常用快捷键
    JS验证密码安全级别
    JS零散知识记录
    MVC project on VS2010 error : The project type is not supported by this installation
    解决IronPython没有三元运算符的问题
    何时何地不能使用泛型
    今天写的代码,可惜没有用上,但想想可能以后还能用上吧。
  • 原文地址:https://www.cnblogs.com/ejiyuan/p/1467769.html
Copyright © 2011-2022 走看看