Главная страница
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.041 c
15-1167038945
WondeRu
2006-12-25 12:29
2007.01.14
В среду сдал на сертификат Microsoft


15-1166551625
Petr V. Abramov
2006-12-19 21:07
2007.01.14
Знаменательная дата


2-1167056149
Vovan #2
2006-12-25 17:15
2007.01.14
OpenPictureDialog и shortcut


15-1166768633
Чапаев
2006-12-22 09:23
2007.01.14
Навеяно ветками про образование. "Их нравы"


15-1166507586
IMHO
2006-12-19 08:53
2007.01.14
Бунт на корабле