Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как экспортировать Данные в Excel / 9 сообщений из 9, страница 1 из 1
26.11.2003, 09:43
    #32334903
Rid
Rid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как экспортировать Данные в Excel
Ребята,
Я все бьюсь да бьюсь об грабли.... шишек сто набли уже...
Вообщем так: Необходимо из Dataset Экспортировать Таблицу в Эксел.
Использую SQL2000, SqlDataAdapter,SQlConnection, Dataset,Datagrid
в Datagrid закидываю необходимую мне таблицу. А вот как ее Экспортировать теперь и через что???
Дайте пожалуйста пример хороший и простой, и через какой компонент.
Я пытаюсь через COM (Q316126) там есть пример, да и то он тоже глючит...
и требует открытого уже Excel. А Вот как его программно открыть и затем экспортировать....
...
Рейтинг: 0 / 0
26.11.2003, 10:05
    #32334930
swed
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как экспортировать Данные в Excel
Можно попробовать так:

Private Excel as Excel.Application
Try
'ищем запущенный
Excel = System.Runtime.InteropServices.Marshal.GetActiveObject ("Excel.Application")
Catch
'запущенного нет
'создадим новый объект
Excel = CreateObject("Excel.Application", "")
End Try
...
Рейтинг: 0 / 0
26.11.2003, 10:23
    #32334958
Rid
Rid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как экспортировать Данные в Excel
Вписал это:
Excel = CreateObject("Excel.Application", "") ;
при дебаге происходит ошибка:
C:\Inetpub\wwwroot\reports\Oselect.aspx.cs(192):
No overload for method 'CreateObject' takes '2' arguments

убираю 2 аргумент:
Excel = CreateObject("Excel.Application");

при дебаге происходит ошибка:
C:\Inetpub\wwwroot\reports\Oselect.aspx.cs(192):
Cannot implicitly convert type 'object' to 'Microsoft.Office.Interop.Excel.Application'

дописываю:
Excel =(Excel.Application)Server.CreateObject("Excel.Application");
Запустилась, при вызове процедуры где должна выполниться тасамая строка
выходит:

Access is denied.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access is denied.
...
Рейтинг: 0 / 0
26.11.2003, 10:35
    #32334973
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как экспортировать Данные в Excel
Excel.Application ExAp;

try
{
ExAp=(Excel.Application)Marshal.GetActiveObject("Excel.Application");
}
catch
{
ExAp =new Excel.Application();
}
...
Рейтинг: 0 / 0
26.11.2003, 17:48
    #32335861
EvgeniyW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как экспортировать Данные в Excel
Вот топик из ворума про это
http://www.gotdotnet.ru/Forums/DataWorks/23441.aspx
...
Рейтинг: 0 / 0
27.11.2003, 12:07
    #32336529
Rid
Rid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как экспортировать Данные в Excel
На Ответ Guest:
Access denied.

на EvgeniyW:
там типа бес пол пузыря не разберусь.

Может я не так вопрос поставил... Может мне надо другим путем.
У меня есть заполненый Datagrid. Вот его как то можно нажав на кнопку, типа "сохранить как" и сохранить в формате Excel? может для этого существуют другие компоненты и свойства функци уже готовые. Да если что у меня все это на ASPX то есть завязано с ASP.NET .. и никак не Windows Application.
...
Рейтинг: 0 / 0
28.11.2003, 12:30
    #32337641
khaoz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как экспортировать Данные в Excel
а не хочешь сделать csv? его понимает excell, а если данных много (больше 65К строк) его можно в acces-е поднять.



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
using System.Text;
using System.IO;

...

String strFileName = srtDir + fileName;
String delim =  ";" ;

Encoding unicode = Encoding.Unicode;
StreamWriter objStream = new StreamWriter (strFileName,false,unicode);

for (int i =  0 ; i < ds.Tables[ 0 ].Columns.Count; i++)
 {
  if (i == ds.Tables[ 0 ].Columns.Count- 1 )
   {
     objStream.WriteLine('\"' + ds.Tables[ 0 ].Columns[i].ToString() + '\"' );
   }
  else
   {
     objStream.Write('\"' + ds.Tables[ 0 ].Columns[i].ToString() + '\"' + delim);
   }
 };

foreach (DataRow myRow in ds.Tables[ 0 ].Rows)
 {
  for (int i =  0 ; i < myRow.ItemArray.Length; i++)
   {
    if (i == myRow.ItemArray.Length- 1 )
     {
       objStream.WriteLine('\"' + myRow[i] + '\"' );
     }
    else
     {
       objStream.Write('\"' + myRow[i] + '\"' + delim);
     }
   };
  };

objStream.Close();

...


Mikhail N. Khozeev
...
Рейтинг: 0 / 0
29.11.2003, 08:15
    #32338372
Rid
Rid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как экспортировать Данные в Excel
Спасибо за пример,
но вот это как юы еще не то. Просто чайникам не объяснишь потом сделайте то сделайте это... поэтому может есть что то более простое. Вот нашел такое решение:
<%Pesponse.ContentType="aplication/vnd.ms-exsel" %>

и страницу отображает в формате Excel. Но вот беда, он предлагает ее оставить с раширением aspx в формате Excel, а вот как указать что бы окончание файла *.xls
...
Рейтинг: 0 / 0
01.12.2003, 11:27
    #32339173
khaoz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как экспортировать Данные в Excel
2 Rid

Кхмм... А вот у меня попросили сначала сделать хлс, на что я ответил экспортом отчёта Crystall Reports в эксэль. Аналитики подождали, помучались, а потом решили, что цсв -- это то, что им надо. Может быть мне повезло :)

Mikhail N. Khozeev
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как экспортировать Данные в Excel / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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