Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

Ошибка сервера. Excel.   Найти похожие ветки 

 
VOPROS   (2006-12-13 09:57) [0]

Здравствуйте, уважаемые мастера!

Есть БД (FoxPro), ADO. Формирую запрос, результат нужно перекинуть в Excel.  У меня все работает (XP, Office2003), на других машинах с 98 и 97 соответственно тоже работает, но на нужном компьютере в программе выходит ошибка: "Ошибка сервера" при перекидывании данных из запроса в  Excel. Код на кнопку для Excel следующий:
DBGrid1.DataSource.DataSet.First;
ExcelApp := CreateOleObject("Excel.Application");
ExcelApp.WorkBooks.Add(xlWBatWorkSheet);
ExcelApp.WorkBooks[1].WorkSheets[1].name := "Статданные";
mem := TMemo.Create(Self);
mem.Visible := false;
mem.Parent := Form1;
mem.Clear;
Mem.Lines.Add("Статданные вызовов "+datetostr(DTP_nach.date));
mem.Lines.Add(statusbar1.Panels[0].Text+", "+Statusbar1.Panels[1].Text+", "+Statusbar1.Panels[2].Text);
for col := 0 to DBGrid1.FieldCount-1 do
sline := sline + DBGrid1.Fields[col].DisplayLabel + #9;
mem.Lines.Add(sline);
for row := 0 to DBGrid1.DataSource.DataSet.RecordCount-1 do
 begin
   sline := "";
   for col := 0 to DBGrid1.FieldCount-1 do
     sline := sline + DBGrid1.Fields[col].AsString + #9;
     oemtoansi(pchar(sline),pchar(sline));
     mem.Lines.Add(sline);
     DBGrid1.DataSource.DataSet.Next;
 end;
ExcelApp.Range["a1"].Font.Bold:=true;
mem.SelectAll;
mem.CopyToClipboard;
ExcelApp.Workbooks[1].WorkSheets["Статданные"].Paste;
ExcelApp.Selection.VerticalAlignment:=xlTop;
ExcelApp.Selection.Borders.Weight:=xlThin;
ExcelApp.ActiveSheet.PageSetup.Orientation := xlLandscape;
for col := 0 to DBGrid1.FieldCount-1 do
ExcelApp.Columns[col+1].ColumnWidth:=15;
ExcelApp.Selection.Wraptext:=true;
ExcelApp.Selection.Wraptext:=true;
ExcelApp.Range["a1","a2"].Wraptext:=false;
ExcelApp.Visible := true;


В чем собака порылась? Очень нужна ваша помощь. Спасибо заранее всем.


 
Megabyte ©   (2006-12-13 10:51) [1]

А Excel там стоит?


 
VOPROS   (2006-12-13 11:09) [2]

стоит 97


 
umbra ©   (2006-12-13 12:33) [3]

ошибка на какой строке? судя по тому, что Вы делаете, все данные попадают в первый столбец. Если в мемо есть строки длиннее 255 символов, то это и будет источником ошибки.


 
VOPROS   (2006-12-14 09:12) [4]


> ошибка на какой строке?
не знаю, на моем компьютере с Delphi, никаких ошибок не возникает

> судя по тому, что Вы делаете, все
> данные попадают в первый столбец. Если в мемо есть строки
> длиннее 255 символов, то это и будет источником ошибки.


данные на всех кроме одного из проверяемых компьютеров (а проверялось на 4) попадают куда нужно - в нужные столбцы, не работает программа только на одном стареньком компьютере - вылетает вышеуказанная ошибка


 
umbra ©   (2006-12-14 10:30) [5]

попробуйте сохранить мемо в файл (mem.Lines.SaveToFile("c:\test.txt")), а затем открыть этот файл в Экселе
ExelApp.OpenText(FileName:="C:\test.txt, Origin:=xlWindows, Tab:=True);
Исчезла ошибка в Экселе97?


 
umbra ©   (2006-12-14 11:09) [6]


> данные на всех кроме одного из проверяемых компьютеров (а
> проверялось на 4) попадают куда нужно - в нужные столбцы

только что проверил - в экселе97 все данные попадают именно в первый столбец


 
VOPROS   (2006-12-15 06:37) [7]

Пробую на другой машине 98 и офис 97 - заругался на PageSetup, комментирую эту строку - работает. Пойду пробовать на той машине, где не работало.


> только что проверил - в экселе97 все данные попадают именно
> в первый столбец

почему-то у меня не попадают - все разложено по столбцам как нужно


> попробуйте сохранить мемо в файл (mem.Lines.SaveToFile("c:
> \test.txt")), а затем открыть этот файл в Экселе
> ExelApp.OpenText(FileName:="C:\test.txt, Origin:=xlWindows,
>  Tab:=True);
> Исчезла ошибка в Экселе97?


Спасибо за помощь, но ругается "OpenText not supported"


 
umbra ©   (2006-12-15 12:22) [8]

прошу прощения, ошибочка
ExelApp.Workbooks.OpenText...


 
VOPROS   (2006-12-22 09:38) [9]

to umbra Спасибо большое, так заработало :) - шаманство, почему такой вариант работает?



Страницы: 1 вся ветка

Текущий архив: 2007.01.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.113 c
3-1161686398
Sergey_b
2006-10-24 14:39
2007.01.14
Запросы


15-1166491717
Giro
2006-12-19 04:28
2007.01.14
В 2008-2009 годах NVidia и AMD-ATI прекратят разработку драйверов


2-1166533930
Steep
2006-12-19 16:12
2007.01.14
Процедуры и функции


2-1166727133
daser
2006-12-21 21:52
2007.01.14
Подскажите....


15-1166977326
Yegorchic
2006-12-24 19:22
2007.01.14
При включении ADSL модема сигнал в трубке затихает