Ilist导出Excel数据

///


        /// Ilist导出Excel数据
        ///

        /// 需要传入的Ilist对象
        ///
        public void CreateExcel (IList lt, string FileName)
        {

            if (lt == null || lt.Count <= 0)
            {
                JavaScript.Alert("没有数据需要导出!",Page);
                return ;
            }
            System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
            HttpResponse resp;

            resp = Page.Response;
            resp.Charset = "UTF-8";
            resp.ContentEncoding = System.Text.Encoding.Default;
            resp.ContentType = "application/ms-excel";

            resp.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8) + ".xls");

            EnableViewState = false;

            string colHeaders = "", Is_item = "";
            int i = 0,j;
            for (i = 0, j = myPropertyInfo.Length; i < j; i++)
            {
                System.Reflection.PropertyInfo pi = myPropertyInfo[i];

                string name = pi.Name;
                colHeaders += name + "/t";
            }
            colHeaders += "/n";

            resp.Write(colHeaders);
            foreach (T t in lt)
            {
                if (t == null)
                {
                    continue;
                }

                for (i = 0, j = myPropertyInfo.Length; i < j; i++)
                {
                    System.Reflection.PropertyInfo pi = myPropertyInfo[i];

                    string str = string.Format("{0}", pi.GetValue(t, null)).Replace("/n", "");
                    if(str=="")
                    {
                        Is_item += "/t";
                    }
                    else
                    {
                        Is_item += str + "/t";
                    }
                }
                Is_item += "/n";
                resp.Write(Is_item);
                Is_item = "";
            }
            //写缓冲区中的数据到HTTP头文件中
            resp.End();

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            questions qs = new questions();
            qs.qflag = 0;
            int count = 0;
            IList lt = dac.GetListQA(qs, pageIndex, 0, ref count);
            CreateExcel(lt, "ToAskQuestions");
        }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值