![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с загрузкой из Екселя [D7, XP]
alexsashkan © (2008-02-08 12:38:00)Уважаемые!!! Возникла вот такая проблемка делаю загрузку из Екселя
Я считываю по столбцово данные ...
//-------------------------------------------------
var
Excel: variant;
i, j: word;
S,city1,city2: string;
distanse:Real;
begin
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Open('C:\4.xls');
Excel.Visible:=True;
// for i := 1 to 5 do
for j := 2 to 10 do
begin
city1 := Excel.Sheets[1].Cells[1,j].Text;
city2:='Какое-то значение';
distanse:=Excel.Sheets[1].Cells[2,j].Text;
//делаем коннект и заиписываем значения вводимые юзером
{
ADOCommand1.CommandText:=('Insert Sad_price VALUES (:city1,:city2,:distanse)');
ADOCommand1.Parameters.ParamByName('city1').Value:=city1;
ADOCommand1.Parameters.ParamByName('city2').Value:=city2;
ADOCommand1.Parameters.ParamByName('distanse').Value:=distanse;
ADOCommand1.Execute;
}
end;
end;
//-------------------------
получаю ошибку "cpuld not convert variant of type (OleStr) inti type (double)".Я так понимаю я что-то с типами ошибся...или где-то в другом месте...те значения которые не получаеться считать следующее - "1,1"; "0,75";"0,50" Подскажите как можна решить эту проблемку...
ketmar (2008-02-08 13:34:00) [1]>[11] alexsashkan (2008-02-08 13:27:00)
у тебя кривые региональные стандарты. почини и не пудри нам моск.
---
Understanding is not required. Only obedience.
Сергей М. (2008-02-08 13:33:00) [2]Ну раз так, то на момент запуска твоей программы в кач-ве разделителя в рег.настройках фигурирует что угодно, только не точка.
Проверяй еще раз.
alexsashkan (2008-02-08 13:27:00) [3]
> distanse := StrToFloat(Excel.Sheets[1].Cells[2,j].Value);
"0.70" is not a valid floating point value. - ВОт такое говорит
Сергей М. (2008-02-08 13:24:00) [4]А так
distanse := StrToFloat(Excel.Sheets[1].Cells[2,j].Value);
что говорит ?
alexsashkan (2008-02-08 13:19:00) [5]вот данные которые в Екселе "0.55","0.35","0.24" - без запятых,с изменёнными региональные стандартами,ситуация не изменна!! та же ошибка что и в начале
ketmar (2008-02-08 13:15:00) [6]да? ёксель по-прежнему отдаёт запятую?
---
Understanding is not required. Only obedience.
alexsashkan (2008-02-08 13:11:00) [7]Региональные стандарты менял - не помогло!
ketmar (2008-02-08 13:00:00) [8]>[4] alexsashkan (2008-02-08 12:58:00)
ты это, читать не будешь? [1]. до просветления и осознания.
---
Understanding is not required. Only obedience.
ketmar (2008-02-08 12:59:00) [9]>[3] alexsashkan (2008-02-08 12:52:00)
>Поубирал запятые,заменил на точку…НИФЕГА!! та же самая ошибка…
интересно, как ты эот делал…
---
Understanding is not required. Only obedience.
alexsashkan (2008-02-08 12:58:00) [10]просто если в таблице Екселя целые числа,типа "123" или "266" или "744",то всё рабоатет нормально..а вот с не целыми...нет!!
alexsashkan (2008-02-08 12:52:00) [11]
> а если distanse:=Excel.Sheets[1].Cells[2,j].Text;заменить
> на это distanse:=Excel.Sheets[1].Cells[2,j].Value;
Заменил,то же самое!!!
> запятая в числах не нравится. не ставить запятую.
Поубирал запятые,заменил на точку...НИФЕГА!! та же самая ошибка...
Slym (2008-02-08 12:47:00) [12]а если
distanse:=Excel.Sheets[1].Cells[2,j].Text;
заменить на этоdistanse:=Excel.Sheets[1].Cells[2,j]. Value;
ketmar (2008-02-08 12:46:00) [13]региональные настройки и ты пы. старый баян. запятая в числах не нравится. не ставить запятую.
---
Understanding is not required. Only obedience.