![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Excel
snake_r © (2005-02-16 15:09:00)Здравствуйте ! я заполняю ячеки экселя
Sheet.Range['G'+IntToStr(lastRec)].Formula := ClearStr(s);
здесь s имеет длину порядки 300 и более символов.
функция ClearStr убирает из строки все символы коды которых меньше 20.
в итоге некоторые строки отображаются норомально а некоторые кучей ####, хотя содержимое ячейки именно тот текст который я ей передал.
хотя заранее я делаю
Sheet.Columns['G:G'].WrapText:= True;
причем чтобы я ни делал с этой ячейкой в экселе ситацию это не меняет, всеравно там выводятся только ####. Я Подумал что дело может быть в слишком длинной строке, но реально в списке получаются ячейки с длиной строки больше, чем те которые оттобразились диезами, и они отображаются нормально.
В чем может быть проблемма??
olookin (2005-02-16 15:38:00) [1][6] snake_r (16.02.05 15:32)
Жаль...
snake_r (2005-02-16 15:32:00) [2]>>olookin
эффект тотже :(
сплошные #######
olookin (2005-02-16 15:26:00) [3][4] snake_r (16.02.05 15:24)
Ну у меня в том, что ничего Excel не обрезает... А еще в том, что (как я понял из справки по VB) Formula используется все же не для отображения простого текста.
snake_r (2005-02-16 15:24:00) [4]>>olookin
а в чем отличие?
snake_r (2005-02-16 15:22:00) [5]дык там не кракозябры, там нормальный текст
только отображен он диезами , так как делает эксель если ему не хватило места в ячйке, чтобы отобразить всю строку.
и как бы ты не раздвигал ячейку или делал перенс по словам, отображаются всеравно диезы :(
жуть
olookin (2005-02-16 15:22:00) [6]А почему:
Sheet.Range['G'+IntToStr(lastRec)]. Formula:= ClearStr(s);
?
Почему не так?
s: string;
Value: Variant;
s:='dfghfdhh ry59ej23514 36;kh;dsdy 34l6k4yhgerw6324645y6re5y6346';
Value:=ClearStr(s);
Excel.Workbooks[k].Sheets[j].Cells[Row,Col]:=Value;
КаПиБаРа (2005-02-16 15:12:00) [7]Пиши лог в файл и анализируй что записалось в ячейки где отображены кракозябры.