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

Вниз

Проблема с загрузкой из Екселя   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.019 c
3-1192511836
Mig
2007-10-16 09:17
2008.03.02
Хитрый запрос из связанных таблиц


2-1202129213
Unknown user
2008-02-04 15:46
2008.03.02
Как узнать кол-во символов загруженных в TRichEdit?


2-1202127831
Dmitry S
2008-02-04 15:23
2008.03.02
Как сделать окно которое будет всегда сверху?


15-1201363081
Константинов
2008-01-26 18:58
2008.03.02
Помогите с аской 5.1 человек ждет,


8-1170917898
Sirus
2007-02-08 09:58
2008.03.02
waveOut и waveIn одновременно