Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.03.2004, 11:52
|
|||
|---|---|---|---|
|
|||
Печатная форма документа |
|||
|
#18+
Всем привет. Подскажите, как сделать экспорт в EXCEL документа? У меня есть шаблон, надо заполнить некоторые поля и дать пользователю сохранить файл к себе на диск....Есть какой то компонент может или ручками это как то делать? Если можно, то с примером... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2004, 14:58
|
|||
|---|---|---|---|
|
|||
Печатная форма документа |
|||
|
#18+
Ручками надо добавить в твой проект Refrence на Excel Потом можно добраться до свойств и методов Excel через объект, который так и называется Excel Например: Excel.Document.Add и так дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2004, 16:26
|
|||
|---|---|---|---|
|
|||
Печатная форма документа |
|||
|
#18+
Вот. Нашел пример.... string strCurrentDir = Server.MapPath(".") + "\\"; RemoveFiles(strCurrentDir); // utility method to clean up old files Excel.Application oXL; Excel._Workbook oWB; Excel._Worksheet oSheet; Excel.Range oRng; try { GC.Collect();// clean up any other excel guys hangin' around... oXL = new Excel.Application(); oXL.Visible = false; //Get a new workbook. oWB = (Excel._Workbook)(oXL.Workbooks.Add( Missing.Value )); oSheet = (Excel._Worksheet)oWB.ActiveSheet; //get our Data oSheet.Cells[1,1]= "TEST"; //Format A1:Z1 as bold, vertical alignment = center. oSheet.get_Range("A1", "Z1").Font.Bold = true; oSheet.get_Range("A1", "Z1").VerticalAlignment =Excel.XlVAlign.xlVAlignCenter; //AutoFit columns A:Z. oRng = oSheet.get_Range("A1", "Z1"); oRng.EntireColumn.AutoFit(); oXL.Visible = false; oXL.UserControl = false; string strFile ="report" + System.DateTime.Now.Ticks.ToString() +".xls"; oWB.SaveAs( strCurrentDir + strFile,Excel.XlFileFormat.xlWorkbookNormal,null,null,false,false,Excel.XlSaveAsAccessMode.xlShared,false,false,null,null,null); // Need all following code to clean up and extingush all references!!! oWB.Close(null,null,null); oXL.Workbooks.Close(); oXL.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject (oRng); System.Runtime.InteropServices.Marshal.ReleaseComObject (oXL); System.Runtime.InteropServices.Marshal.ReleaseComObject (oSheet); System.Runtime.InteropServices.Marshal.ReleaseComObject (oWB); oSheet=null; oWB=null; oXL = null; GC.Collect(); // force final cleanup! string strMachineName = Request.ServerVariables["SERVER_NAME"]; errLabel.Text="<A href=http://" + strMachineName +"/ExcelGen/" +strFile + ">Download Report</a>"; } catch( Exception theException ) { String errorMessage; errorMessage = "Error: "; errorMessage = String.Concat( errorMessage, theException.Message ); errorMessage = String.Concat( errorMessage, " Line: " ); errorMessage = String.Concat( errorMessage, theException.Source ); errLabel.Text= errorMessage ; } Проблема в том, что после этого EXCEL остается в памяти.... Не выгружается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.03.2004, 11:14
|
|||
|---|---|---|---|
|
|||
Печатная форма документа |
|||
|
#18+
Неужели никто не подскажет как прибить процесс? А то прога уже работает, и мне приходится время от времени память подчищать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.03.2004, 15:45
|
|||
|---|---|---|---|
Печатная форма документа |
|||
|
#18+
Если прибите процесса еще интересует, могу поделится опытом. В примере почти все правильно, но народ утверждает, что GC.Collect() работает вне контекста, то есть после возврата из функции. Таким образом весь код остается в этой функции, а GC.Collect(); ставиться в вызывающей функции, после вызова этой. Такой вызов GC.Collect(); необходим в случае наличия большого числа объектов. Мне это помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=18&mobile=1&tid=1395854]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
21ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 295ms |

| 0 / 0 |
