您的位置:首页 > 编程语言 > C#

[C#]网格数据导出到Excel,Excel转DataSet

2016-07-20 14:07 477 查看
/// <summary>

        /// 将网格数据导出到Excel

        /// </summary>

        /// <param name="ctrl">网格名称(如GridView1)</param>

        /// <param name="FileType">要导出的文件类型(Excel:application/ms-excel)</param>

        /// <param name="FileName">要保存的文件名</param>

        public static void GridViewToExcel(Control ctrl, string FileName)

        {

            HttpContext.Current.Response.Charset = "UTF-8";

            HttpContext.Current.Response.Clear();

            HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;//注意编码

            HttpContext.Current.Response.HeaderEncoding = Encoding.UTF8;

            HttpContext.Current.Response.AppendHeader("Content-Disposition",

                "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());

            HttpContext.Current.Response.ContentType = "application/ms-excel;msword"; //image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword 

            ctrl.Page.EnableViewState = false;

            StringWriter tw = new StringWriter();

            HtmlTextWriter hw = new HtmlTextWriter(tw);

            ctrl.RenderControl(hw);

            string meta = "<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=\"UTF-8\"/>";

            //HttpContext.Current.Response.Write(meta);

            HttpContext.Current.Response.Write(tw.ToString());

            HttpContext.Current.Response.Flush();

            HttpContext.Current.Response.End();
        }

using System.Data.OleDb;

/// <summary>

        /// 将Excel转DataSet

        /// </summary>

        /// <param name="Path">路径</param>

        /// <param name="sheet">表名</param>

        /// <returns></returns>

        public static DataSet ExcelToDS(string Path,string sheet)

        {

            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";

            OleDbConnection conn = new OleDbConnection(strConn);

            conn.Open();

            string strExcel = "";

            OleDbDataAdapter myCommand = null;

            DataSet ds = null;

            strExcel = "select * from [" + sheet + "$]";

            myCommand = new OleDbDataAdapter(strExcel, strConn);

            ds = new DataSet();

            myCommand.Fill(ds, "table1");

            return ds;

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息