|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Вот так допусти спашника до серверного программирования... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:04 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... Тогда достаточно в Response передать поток, временный файл не обязательно создавать.Да я знаю, просто речь зашла о больших документах, не влезающих в память сервера.А Controller.File Method (Stream, String) в память сервера пишет? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:05 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
А если задача будет запилить честный сервлетик, взамен умирающего ASP.NET? Поэтому хватит игр, переходим на правильные платформы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:05 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Да я знаю, просто речь зашла о больших документах, не влезающих в память сервера.А Controller.File Method (Stream, String) в память сервера пишет?Ну сгенерированный excel-документ где должен храниться? Варианты: 1. byte[] или MemoryStream. 2. FileStream. Понятно, что эти данные будут потом отданы на скачивание чем-то вроде того, на что ты дал ссылку. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:09 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
МСУАлексей КНу ты же сам сказал "чтобы не засирать память веб-сервера" (ц), с чем я согласен. Ну так всё правильно. Теперь ты память не засираешь, уже хорошо. Но файл тут зачем? Ты сам заговорил про большие документы, не влезающие в оперативку сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:10 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... А Controller.File Method (Stream, String) в память сервера пишет?Ну сгенерированный excel-документ где должен храниться? Варианты: 1. byte[] или MemoryStream. 2. FileStream. Понятно, что эти данные будут потом отданы на скачивание чем-то вроде того, на что ты дал ссылку.Response.OutputStream? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:13 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Ну сгенерированный excel-документ где должен храниться? Варианты: 1. byte[] или MemoryStream. 2. FileStream. Понятно, что эти данные будут потом отданы на скачивание чем-то вроде того, на что ты дал ссылку.Response.OutputStream?Заманчиво, но боюсь без промежуточного буфера не получится. Там пока концепция такая: 1. Пишем в поток заранее заготовленный excel-шаблон. 2. Делаем Seek(0, SeekOrigin.Begin) 3. Открываем SpreadsheetDocument. 4. Правим SpreadsheetDocument. 5. Сохраняем SpreadsheetDocument, вызвав его Dispose. Боюсь, что Response.OutputStream не умеет Seek. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:18 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Алексей КМСУпропущено... Ну так всё правильно. Теперь ты память не засираешь, уже хорошо. Но файл тут зачем? Ты сам заговорил про большие документы, не влезающие в оперативку сервера. new File(Stream) - какая оперативка? какие файлы? :) Алексей КБоюсь, что Response.OutputStream не умеет Seek. :-) Что ты куришь, бро? :) https://msdn.microsoft.com/ru-ru/library/system.io.stream.seek(v=vs.110).aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:28 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
МСУАлексей КБоюсь, что Response.OutputStream не умеет Seek. :-) Что ты куришь, бро? :) https://msdn.microsoft.com/ru-ru/library/system.io.stream.seek(v=vs.110).aspx Алексей прав. https://msdn.microsoft.com/ru-ru/library/system.io.stream.canseek(v=vs.110).aspx не все потоки могут делать Seek ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:30 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
hVosttМСУпропущено... Что ты куришь, бро? :) https://msdn.microsoft.com/ru-ru/library/system.io.stream.seek(v=vs.110).aspx Алексей прав. https://msdn.microsoft.com/ru-ru/library/system.io.stream.canseek(v=vs.110).aspx не все потоки могут делать Seek Так там поток от SpreadsheetDocument, он это умеет делать 100%. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:34 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
hVosttМСУпропущено... Что ты куришь, бро? :) https://msdn.microsoft.com/ru-ru/library/system.io.stream.seek(v=vs.110).aspx Алексей прав. https://msdn.microsoft.com/ru-ru/library/system.io.stream.canseek(v=vs.110).aspx не все потоки могут делать SeekМожно конечно попробовать отказаться от необходимости Seek, но хрен его знает... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:36 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Да ну вы что, какой Seek. Пишем chunk в OutputStream, делаем Flush. Алексею пока не подходит :) Код надо переписывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:37 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
МСУhVosttпропущено... Алексей прав. https://msdn.microsoft.com/ru-ru/library/system.io.stream.canseek(v=vs.110).aspx не все потоки могут делать Seek Так там поток от SpreadsheetDocument, он это умеет делать 100%.skyANA предложил, чтобы SpreadsheetDocument писал сразу в Response.OutputStream. Ты всё перепутал! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:37 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
skyANAДа ну вы что, какой Seek. Пишем chunk в OutputStream, делаем Flush. Алексею пока не подходит :) Код надо переписывать.Да там переписать не проблема, масштабы пока не те. :-) Сделаю пока чтобы хоть как-то работало, потом буду бантики добавлять. Меня пока больше беспокоит расчёт ширины колонок. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 14:40 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Сцуко, а ведь SpreadsheetDocument на Response.OutputStream не приготовишь... http://stackoverflow.com/questions/17888076/openxml-cannot-open-package-because-filemode-or-fileaccess-value-is-not-valid-fo Как-то надо выкручиваться через пакеты из System.IO.Packaging. Как вариант OpenXmlPackage. Но как, пока не разобрался. Остаётся пока оверхедить в память или файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 15:09 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
МСУСцуко, а ведь SpreadsheetDocument на Response.OutputStream не приготовишь... http://stackoverflow.com/questions/17888076/openxml-cannot-open-package-because-filemode-or-fileaccess-value-is-not-valid-fo Как-то надо выкручиваться через пакеты из System.IO.Packaging. Как вариант OpenXmlPackage. Но как, пока не разобрался. Остаётся пока оверхедить в память или файл.Ипать, зато умные все вокруг, про Response.OutputStream знают... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 16:05 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
На Stream.Null работает, но вот как потом из спредшита снять поток... Ушлепки опен иксэмэльные! MS точно сгибается, надо в Java валить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 16:09 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
МСУНа Stream.Null работает, но вот как потом из спредшита снять поток...Забей. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 16:35 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
МСУСцуко, а ведь SpreadsheetDocument на Response.OutputStream не приготовишь... http://stackoverflow.com/questions/17888076/openxml-cannot-open-package-because-filemode-or-fileaccess-value-is-not-valid-fo Как-то надо выкручиваться через пакеты из System.IO.Packaging. Как вариант OpenXmlPackage. Но как, пока не разобрался. Остаётся пока оверхедить в память или файл. не всё то сикается, что стрим ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 17:42 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
МСУУшлепки опен иксэмэльные! MS точно сгибается, надо в Java валить :) та не, надо покупать нормальные компоненты, они те и носки постирают, и кофе сварят, и эстетически удовлетворят. а халява-сэр, хоть и сладка как уксус, но таки за что не заплатил, то и получи! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 17:44 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Фиг с вами, убедили :) Но, всё-равно, это нечестно и кривожопно! Код: html 1.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2015, 21:02 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Отпишу навсякий... Не понравилась мне эта формула для расчёта ширины колонки. Остановился пока на такой формуле: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2015, 07:57 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Алексей К, отличный способ. щас МСУ утянет его в свои рецепты ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2015, 09:18 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
hVosttАлексей К, отличный способ. щас МСУ утянет его в свои рецепты Я не понял, это похвала или сарказм? :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2015, 09:24 |
|
Топик ненависти к Open XML SDK
|
|||
---|---|---|---|
#18+
Упс... :-) Предыдущая формула не работает для разных размеров шрифтов. Ниже исправленный вариант, навсякий... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2015, 09:58 |
|
|
start [/forum/topic.php?fid=20&msg=38922467&tid=1401711]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 347ms |
total: | 477ms |
0 / 0 |