예제 #1
0
 /// <summary>
 /// 导出excel
 /// </summary>
 /// <Author>刘小贵</Author>
 /// <CreateDate>2017.08.18</CreateDate>
 public void DownloadExcel()
 {
     System.IO.MemoryStream ms = NPOIHelper.ExportDT(_data, this._titleName);
     _response.Clear();
     _response.AddHeader("content-disposition", "attachment; filename=" + this._fileName);
     _response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
     _response.BinaryWrite(ms.ToArray());
     ms.Close();
     ms.Dispose();
     _response.Flush();
     _response.End();
 }
예제 #2
0
        //public static object JsonToObject(string jsonString, object obj)
        //{
        //    IList<Column> list = ConverHelper.JsonToListObj<Column>(jsonString);
        //    DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
        //    MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
        //    return serializer.ReadObject(mStream);
        //}

        public void Download()
        {
            List <Column> list_tmp = new List <Column>();
            int           n        = -1;

            //判断EasyUI DataGrid 需要导出的列
            for (int i = 0; i < _colName.Count; i++)
            {
                n++;
                var item = _colName[i];
                if (item.hidden || _colName[i].title == null)
                {
                    n--;
                    continue;
                }
                list_tmp.Add(item);
            }
            List <string> pos = new List <string>();

            //更改DataTable列名
            for (int i = 0; i < list_tmp.Count; i++)
            {
                for (int j = 0; j < _data.Columns.Count; j++)
                {
                    if (list_tmp[i].field == _data.Columns[j].ColumnName)
                    {//有field和DataTable名字相同的则修改列名,使之和DataGrid的Title一样
                        _data.Columns[j].ColumnName = list_tmp[i].title;
                        pos.Add(_data.Columns[j].ColumnName);
                        break;
                    }
                }
            }
            List <string> noPos = new List <string>();

            //查找 无用的列
            for (int i = 0; i < _data.Columns.Count; i++)
            {
                bool flag = false;
                for (int j = 0; j < pos.Count; j++)
                {
                    if (pos[j] == _data.Columns[i].ColumnName)
                    {
                        flag = true;
                        break;
                    }
                }
                if (flag == false)
                {
                    noPos.Add(_data.Columns[i].ColumnName);
                }
            }
            //删除 无用的列
            for (int i = 0; i < noPos.Count; i++)
            {
                _data.Columns.Remove(noPos[i]);
            }
            System.IO.MemoryStream ms = NPOIHelper.ExportDT(_data, this._titleName);
            _response.Clear();
            _response.AddHeader("content-disposition", "attachment; filename=" + this._fileName);
            _response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            _response.BinaryWrite(ms.ToArray());
            ms.Close();
            ms.Dispose();
            _response.Flush();
            _response.End();
        }