Ответ csv веб-формы asp.net на почтовый индекс - PullRequest
0 голосов
/ 19 февраля 2019

в веб-форме Page_Load, когда! IsPostBack, я запускаю хранимую процедуру, и результат переходит в DataTable.Я не хочу писать на диск.Поэтому я создаю ответ CSV типа.Работает правильно.Теперь, как я могу уменьшить размер загружаемого CSV-файла?(Когда количество записей равно 2000000, размер загружаемого файла составляет 200 МБ)

DataTable dt = GetFromSP();
                Response.ClearContent();
                Response.AddHeader("Content-Disposition", "attachment;filename=" + CalcCod + ".csv");
                Response.ContentType = "text/csv";
                int iColCount = dt.Columns.Count;
                for (int i = 0; i < iColCount; i++)
                {
                    Response.Write(dt.Columns[i]);
                    if (i < iColCount - 1)
                    {
                        Response.Write(",");
                    }
                }

                Response.Write("\n");

                foreach (DataRow dr in dt.Rows)
                {
                    for (int i = 0; i < iColCount; i++)
                    {
                        if (!Convert.IsDBNull(dr[i]))
                        {
                            Response.Write(dr[i].ToString());
                        }
                        if (i < iColCount - 1)
                        {
                            Response.Write(",");
                        }
                    }
                    Response.Write("\n");
                }

                Response.End();

enter image description here

...