powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Печатная форма документа
5 сообщений из 5, страница 1 из 1
Печатная форма документа
    #32445094
Максим Руденко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Подскажите, как сделать экспорт в EXCEL документа?

У меня есть шаблон, надо заполнить некоторые поля и дать пользователю сохранить файл к себе на диск....Есть какой то компонент может или ручками это как то делать? Если можно, то с примером...
...
Рейтинг: 0 / 0
Печатная форма документа
    #32449433
Vitaliyl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ручками надо добавить в твой проект Refrence на Excel

Потом можно добраться до свойств и методов Excel
через объект, который так и называется Excel

Например:
Excel.Document.Add и так дальше
...
Рейтинг: 0 / 0
Печатная форма документа
    #32449684
Максим Руденко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот. Нашел пример....

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 остается в памяти.... Не выгружается...
...
Рейтинг: 0 / 0
Печатная форма документа
    #32451015
Максим Руденко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели никто не подскажет как прибить процесс?
А то прога уже работает, и мне приходится время от времени память подчищать :)
...
Рейтинг: 0 / 0
Печатная форма документа
    #32460916
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если прибите процесса еще интересует, могу поделится опытом.
В примере почти все правильно, но народ утверждает, что GC.Collect() работает вне контекста, то есть после возврата из функции. Таким образом весь код остается в этой функции, а GC.Collect(); ставиться в вызывающей функции, после вызова этой. Такой вызов GC.Collect(); необходим в случае наличия большого числа объектов. Мне это помогло.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Печатная форма документа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]