Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Пиши лог в файл и анализируй что записалось в ячейки где отображены кракозябры.


Наверх

Титульная страница Поиск, карта сайта Написать письмо