Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Radioaktiv
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 222
#1

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

27.12.2016, 11:58. Просмотров 172. Ответов 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):

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

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

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

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

StringGrid, как сохранить цвет при экспорте? - Delphi
Добрый день! Помогите мне пожалуйста. у меня есть stringgrid закрашиваю его так procedure TForm1.StringGrid1DrawCell(Sender: TObject;...

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

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

2. Если не ошибаюсь в Excel используется не 13 а 12
0
Radioaktiv
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 222
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
2773 / 2649 / 674
Регистрация: 14.04.2014
Сообщений: 12,726
Записей в блоге: 7
27.12.2016, 13:48 #4
у меня нет Excel не могу проверить. у меня Libre Office, он вставляет стандартные для Windows #13#10

ну или легко ведь глянуть, что он там вставляет
скопируйте ячейку и вставьте в едит в делфи. в цикле посимвольно разберите содержимое едита
1
Radioaktiv
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 222
27.12.2016, 13:49  [ТС] #5
Спасибо, разобрался сам #10 перенос
0
Radioaktiv
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 222
27.12.2016, 14:09  [ТС] #6
а не подскажите как сделать при экспорте вот такую настройку
0
Миниатюры
Как при экспорте делать перевод содержимого ячейки на новую строку?  
krapotkin
2773 / 2649 / 674
Регистрация: 14.04.2014
Сообщений: 12,726
Записей в блоге: 7
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
Привет! Вот еще темы с ответами:

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

Перевод содержимого ячейки StringGrid в строку char. - C++ Builder
Здорова. Помогите плиз перевести UnicodeString в массив символов char (строка). Имеем текст в StringGrid1->Cells нужно его скопировать в...

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

Как добавить перевод на новую строку? - Visual Basic
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