2013-08-28 3 views
0

Я помню, что у меня была аналогичная проблема с экспортом в Excel некоторое время назад, и вместо увеличения тайм-аута я как-то поставил что-то не ждать, пока все не будет записано в память перед представлением пользователь с файлом, который позаботился о большом количестве тайм-аутов данных.Экспорт большого количества данных в Word из .NET.

Я не уверен, правильно ли я объясняю себя, но если кто-нибудь знает, как это сделать, я действительно ценю вашу помощь.

прямо сейчас у меня есть следующие:

docDataSet = m_DataAccess.GetDataSet(adhocSQL) 
      response.Clear() 
         response.ContentType = "application/vnd.ms-word" 
         response.AddHeader("Content-Disposition", "attachment; filename=MyFile.doc") 
For Each dr As DataRow In docDataSet.Tables(0).Rows 
'lots of rows and columns here 
response.Write(dr("lotsofdatahere")) 
next 
    response.Charset = "" 
         response.End() 
+1

вы смотрели на любой из 'проводок в разделе Related' в правом нижнем углу этой страницы ..? проверьте эту ссылку для некоторых идей. [Экспорт даты из базы данных в файл Word] (http://stackoverflow.com/questions/5468282/how-to-retrieve-data-from-database-to-word-document-net?rq=1) – MethodMan

+0

это выглядит подобно тому, как я делаю это сейчас, за исключением того, что использует StringWriter. это то, что вы имели ввиду? –

ответ

0

Из того, что я могу сказать, вы просто response.writing некоторые данные и позволяя браузер открыть Word.

Несколько вещей, которые я хотел бы сделать, это определить, сколько данных будет в браузере в первую очередь, таким образом вы можете сообщить браузеру, насколько большой файл он загружает. Это помогает определить оставшееся время и т. Д.

Затем после X номер ответа. Повторите итерации response.Flush();. Таким образом, данные удаляются из памяти веб-сервера и фактически записываются обратно клиенту.

-1

Я думаю, что лучшим решением для этого является использование услуг представления, что было бы более легко ..

Смежные вопросы