|
|
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток. проблема в том, что в dwo есть поле ххх типа string. Если в это поле положить запись 'MAR01', то при экспорте в excel, он (excel) понимает запись как дату и вместо 'MAR01' пишет '1-Mar'. подскажите возможные варианты как это обойти? вот мой код экспорта: OleObject lole_Excel OleObject lole_Sheet if ll_ColumnsCount > 0 then lole_Excel = CREATE OleObject if lole_Excel.ConnectToNewObject( 'Excel.Application' ) < 0 then MessageBox('DW export error','Unable to connect to Microsoft Excel') Return end if dw_ism.SaveAs("",Clipboard!,true) lole_Excel.Workbooks.Add lole_Sheet = lole_Excel.Application.ActiveWorkbook.WorkSheets[1] lole_Sheet.PasteSpecial('Text', FALSE, FALSE ) lole_Sheet.Rows(1).Select() lole_Excel.Selection.Font.Bold = TRUE lole_Sheet.Columns.Autofit() lole_Excel.Application.Visible = true lole_Excel.DisconnectObject() DESTROY lole_Excel end if З.Ы. Если через OLe Эт осделать не возможно , то подскажите как это сделать используя библиотеку dw2exl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 15:03 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
Попробуйте к Вашему значению добавлять одинчную кавычку в начало строки: " ' MAR01" или ' ~' MAR01' ели Вам обязательно нужно писать в коде в одинарных кавычках... ------------ С уважением, IKAR IkarHomeCenter ........ Детский Дворик ........ ГавГав.Инфо Портал русскоязычной группы пользователей Sybase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 15:23 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
Попробуйте после сохранения задать формат "text" нужному полю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 15:32 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
не знаю подоёдёт ли такое решение. т.к. у меня дво тянет из базы около 5 тыс записей. из них 7-мь с 'MAR01'. Придётся во все те модули, которые отвечают за заполнении базы добавлять эту ковычку + модифаить все существующие. Но спасибо за подсказку.. попвтаюсь попробовать Вот сейчас сижу и думаю как бы сообщить екселю о том что поле стринг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 15:34 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
RiskaПопробуйте после сохранения задать формат "text" нужному полю. Riska , а с помощбю какой ф-ии это можно сделать. Используя Ole объекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 15:38 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
>> Попробуйте после сохранения задать формат "text" нужному полю. только лучше не полю а сразу всей колонке, и не после сохранения а перед. >> Riska, а с помощбю какой ф-ии это можно сделать. Используя Ole объекты. записываете макрос и смотрите команды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 16:55 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
switch_epam RiskaПопробуйте после сохранения задать формат "text" нужному полю. Riska , а с помощбю какой ф-ии это можно сделать. Используя Ole объекты. Код: plaintext 1. 2. Короче, копать в Excel в сторону NumberFormat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 17:16 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
Riska... ??? - не помню точно что должно быть. Может быть TRUE, а может быть и сам формат, типа '###.00'. Короче, копать в Excel в сторону NumberFormat для текстового - ??? = "@" ------------ С уважением, IKAR IkarHomeCenter ........ Детский Дворик ........ ГавГав.Инфо Портал русскоязычной группы пользователей Sybase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 17:29 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
??? - имелось введу вообще что-то. Я не помню, что именно. Т.е. может быть 'YES', может быть 'TRUE', а может быть и сам формат, типа '###.00'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 17:32 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
Riska , а как мне обозначить весь столбец? range выделяет прямоугольник, а я не знаю кол-ва строк. Как я понимаю мне необходимо доватить вот это: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 18:21 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
lole_Excel.activeworkbook.activesheet.XXXX.NumberFormat = '@' вместо хххх надо подставить столбец. он у меня 2-ой по счёту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 18:23 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
Предполагаю что Range("A,A") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 18:34 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
Columns(2).NumberFormat = "@" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 18:35 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
В общем после добавления вот такого кода: OLEObject lole_range lole_range = lole_Excel.Range("B:B") lole_range.NumberFormat = '@' я получил на выходе численное значение даты в виде int. Получается, что excel сначала получил запись 'MAR01', потом преобразовал её в '1-Mar', и только потом отработал мой NumberFormat и на выходе я получил int. -(( Подскажите в какое место у меня в коде (см. 1-ый пост) мне нужно вставить этот код [я вставлял после строчки "lole_Excel.Selection.Font.Bold = TRUE"]? Или нужно искать другое решение проблеммы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 19:27 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
switch_epamПодскажите в какое место у меня в коде (см. 1-ый пост) мне нужно вставить этот код [я вставлял после строчки "lole_Excel.Selection.Font.Bold = TRUE"]? Или нужно искать другое решение проблеммы? Перед PasteSpecial, вестимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 19:50 |
|
||
|
Excel при экспорте конвертирует строку в дату. Как избавиться от этого?
|
|||
|---|---|---|---|
|
#18+
Всем БОЛЬШОЕ СПАСИБО. Сегодня я первый раз поработал с Ole объектами. вот экспорта в excel с принудительным типом string для 2-го столбца: if ll_ColumnsCount > 0 then lole_Excel = CREATE OleObject if lole_Excel.ConnectToNewObject( 'Excel.Application' ) < 0 then MessageBox('DW export error','Unable to connect to Microsoft Excel') Return end if dw_ism.SaveAs("",Clipboard!,true) lole_Excel.Workbooks.Add OLEObject lole_range lole_range = lole_Excel.Range("B:B") lole_range.NumberFormat = '@' lole_Sheet = lole_Excel.Application.ActiveWorkbook.WorkSheets[1] lole_Sheet.PasteSpecial('Text', FALSE, FALSE ) lole_Sheet.Rows(1).Select() lole_Excel.Selection.Font.Bold = TRUE lole_Sheet.Columns.Autofit() lole_Excel.Application.Visible = true lole_Excel.DisconnectObject() DESTROY lole_Excel end if ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 20:04 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=35429609&tid=1336610]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 164ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...