Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Radioaktiv
0 / 0 / 4
Регистрация: 09.10.2015
Сообщений: 264
#1

Как при экспорте делать перевод содержимого ячейки на новую строку? - Delphi

27.12.2016, 11:58. Просмотров 195. Ответов 6
Метки нет (Все метки)

Подскажите как при экспорте делать переход содержимого ячейки на новую строку, т.е. в гриде у меня в первом столбце данные выглядят вот так

Delphi
1
2
3
4
5
ФИО
Должность
 
ФИО
Должность
когда я экспортирую в excel то записис в первом столбце в ячеках в одну строку вот так :

Delphi
1
2
3
ФИО Должность
 
ФИО Должность
а мне надо чтобы между фио и должность стоял символ
Delphi
1
CHR(13)
пробовал сделать вот так но ничего не выходит

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
   if (row>0) and (col=0) then
        begin
       // ShowMessage(egrid.Cells[0, Row]);
 
         //ShowMessage(inttostr(Row));
         stroka:= egrid.Cells[0, Row];
         N:=Pos('.', egrid.Cells[0, Row])  ;
               Insert(CHR(13), stroka, n+3);
         //ShowMessage(stroka);
        //Sheett.Cells[Row + 6, Col +1]:=stroka;
 
        end
вот полностью код

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 for Col:= 0 to egrid.ColCount -1 do
     for Row:= 0 to egrid.RowCount -1 do
      begin
        if (row>0) and (col=0) then
        begin
         stroka:= egrid.Cells[0, Row];
         N:=Pos('.', egrid.Cells[0, Row])  ;
               Insert(CHR(13), stroka, n+3);
        end
        else  Sheett.Cells[Row + 6, Col +1]:=egrid.Cells[Col, Row];
        Sheett.Cells[Row + 6, Col +1].RowHeight :=31.5;
        Sheett.Cells[Row + 6, Col +1].Borders.LineStyle:=1;
        Sheett.Cells[Row + 6, Col +1].WrapText:=True;
        Sheett.Cells[Row + 6, Col +1].HorizontalAlignment:=3;
        Sheett.Cells[Row + 6, Col +1].VerticalAlignment:=1;
        progress.Position:=progress.Position + 1;
        Application.ProcessMessages;
     end;
Добавлено через 1 час 22 минуты
никто не сталкивался с такой проблемой?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2016, 11:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как при экспорте делать перевод содержимого ячейки на новую строку? (Delphi):

Перевод каретки на новую строку
С помощью какой функции каретка переводится на новую стоку?

Автоматический перенос выходящего за рамки ячейки текста на новую строку
Доброго времени суток, уважаемые форумчане! Вопрос значит такой. Как...

Перевод на новую строку длинного SQL-запроса
Пишу SQL запрос, он очень длинный,как продолжить его на новой строке? Спасибо!

При экспорте отчета в Word первая запись добавляется в строку с заголовками
Всем привет образовалась проблема, при экспорте данных из dbgrid в ворд, первая...

StringGrid, как сохранить цвет при экспорте?
Добрый день! Помогите мне пожалуйста. у меня есть stringgrid закрашиваю его...

брать при каждом клике новую строку
for i:=0 to Memo1.Lines.Count -1 do begin IP:= Copy(Proxy,1,Pos(':',Proxy)-1);...

6
krapotkin
3294 / 2934 / 1015
Регистрация: 14.04.2014
Сообщений: 14,250
Записей в блоге: 13
27.12.2016, 12:24 #2
1.вставка символа в строку проще
s:= s1+#13+s2;

2. Если не ошибаюсь в Excel используется не 13 а 12
0
Radioaktiv
0 / 0 / 4
Регистрация: 09.10.2015
Сообщений: 264
27.12.2016, 13:31  [ТС] #3
так?

Delphi
1
2
3
4
5
  stroka:= egrid.Cells[0, Row];
         N:=Pos('.', egrid.Cells[0, Row])  ;
               Insert(CHR(12), stroka, n+3);
         //ShowMessage(stroka);
        Sheett.Cells[Row + 6, Col +1]:=stroka;
выдает то что на картинке
0
Миниатюры
Как при экспорте делать перевод содержимого ячейки на новую строку?  
krapotkin
3294 / 2934 / 1015
Регистрация: 14.04.2014
Сообщений: 14,250
Записей в блоге: 13
27.12.2016, 13:48 #4
у меня нет Excel не могу проверить. у меня Libre Office, он вставляет стандартные для Windows #13#10

ну или легко ведь глянуть, что он там вставляет
скопируйте ячейку и вставьте в едит в делфи. в цикле посимвольно разберите содержимое едита
1
Radioaktiv
0 / 0 / 4
Регистрация: 09.10.2015
Сообщений: 264
27.12.2016, 13:49  [ТС] #5
Спасибо, разобрался сам #10 перенос
0
Radioaktiv
0 / 0 / 4
Регистрация: 09.10.2015
Сообщений: 264
27.12.2016, 14:09  [ТС] #6
а не подскажите как сделать при экспорте вот такую настройку
0
Миниатюры
Как при экспорте делать перевод содержимого ячейки на новую строку?  
krapotkin
3294 / 2934 / 1015
Регистрация: 14.04.2014
Сообщений: 14,250
Записей в блоге: 13
27.12.2016, 21:02 #7
заведите отдельную тему
1
27.12.2016, 21:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2016, 21:02
Привет! Вот еще темы с решениями:

Переход каретки на новую строку при вставке
Как сделать чтобы при вставке из буфера обмена (ctrl+v или правой кнопкой мыши...

Перевод содержимого ячейки StringGrid в строку char.
Здорова. Помогите плиз перевести UnicodeString в массив символов char (строка)....

Перевод курсора на новую строку в TextBox при нажатии кнопки
здравствуйте! есть такой вопрос - как сделать автоперенос курсора после нажатия...

Как добавить перевод на новую строку?
Form2.txt1.Text = z.x & vbtab & z.y & vbtab & 0 Так чтобы не заменяясь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru