Форум: "Начинающим";
Текущий архив: 2008.03.02;
Скачать: [xml.tar.bz2];
ВнизПроблема с загрузкой из Екселя Найти похожие ветки
← →
alexsashkan (2008-02-08 12:38) [0]Уважаемые!!! Возникла вот такая проблемка делаю загрузку из Екселя
Я считываю по столбцово данные ...
//-------------------------------------------------
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 12:46) [1]региональные настройки и ты пы. старый баян. запятая в числах не нравится. не ставить запятую.
---
Understanding is not required. Only obedience.
← →
Slym © (2008-02-08 12:47) [2]а если
distanse:=Excel.Sheets[1].Cells[2,j].Text;
заменить на этоdistanse:=Excel.Sheets[1].Cells[2,j].Value;
← →
alexsashkan (2008-02-08 12:52) [3]
> а если distanse:=Excel.Sheets[1].Cells[2,j].Text;заменить
> на это distanse:=Excel.Sheets[1].Cells[2,j].Value;
Заменил,то же самое!!!
> запятая в числах не нравится. не ставить запятую.
Поубирал запятые,заменил на точку...НИФЕГА!! та же самая ошибка...
← →
alexsashkan (2008-02-08 12:58) [4]просто если в таблице Екселя целые числа,типа "123" или "266" или "744",то всё рабоатет нормально..а вот с не целыми...нет!!
← →
ketmar © (2008-02-08 12:59) [5]>[3] alexsashkan (2008-02-08 12:52:00)
>Поубирал запятые,заменил на точку…НИФЕГА!! та же самая ошибка…
интересно, как ты эот делал…
---
Understanding is not required. Only obedience.
← →
ketmar © (2008-02-08 13:00) [6]>[4] alexsashkan (2008-02-08 12:58:00)
ты это, читать не будешь? [1]. до просветления и осознания.
---
Understanding is not required. Only obedience.
← →
alexsashkan (2008-02-08 13:11) [7]Региональные стандарты менял - не помогло!
← →
ketmar © (2008-02-08 13:15) [8]да? ёксель по-прежнему отдаёт запятую?
---
Understanding is not required. Only obedience.
← →
alexsashkan (2008-02-08 13:19) [9]вот данные которые в Екселе "0.55","0.35","0.24" - без запятых,с изменёнными региональные стандартами,ситуация не изменна!! та же ошибка что и в начале
← →
Сергей М. © (2008-02-08 13:24) [10]А так
distanse := StrToFloat(Excel.Sheets[1].Cells[2,j].Value);
что говорит ?
← →
alexsashkan (2008-02-08 13:27) [11]
> distanse := StrToFloat(Excel.Sheets[1].Cells[2,j].Value);
"0.70" is not a valid floating point value. - ВОт такое говорит
← →
Сергей М. © (2008-02-08 13:33) [12]Ну раз так, то на момент запуска твоей программы в кач-ве разделителя в рег.настройках фигурирует что угодно, только не точка.
Проверяй еще раз.
← →
ketmar © (2008-02-08 13:34) [13]>[11] alexsashkan (2008-02-08 13:27:00)
у тебя кривые региональные стандарты. почини и не пудри нам моск.
---
Understanding is not required. Only obedience.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.02;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.041 c