|
|
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Уважаемые Форумчане! Экспортирую таблицу из SQL Server'a через Delphi в Excel 2007. Все экспортируется как положенно, но вот постоянная проблема с датами. Экспортирую я помассивно. Все элементы массива типа Variant. Но есть одна проблема, при экспорте формат ячейки в которую экспортируется дата меняется неизвестно от чего, то она текстовая, то числовая. Но вот отображение её всегда в числовом виде. Проблему удалось решить преобразуя все даты в строки, все отображается корректно, но опять же не хочу это так оставлять, т.к. возможно пользователю понадобится сделать фильтр по месяцу, или же использовать дату в ячейке для вычислений каких нибудь, а там текст - а это не есть хорошо. Надеюсь что кто нибудь сталкивался с подобной проблемой и поможет мне разобраться в данной ситуации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2010, 15:58:46 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Для "русского" Экселя: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 15:20:07 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Johnmen, нет, не катит, я как только не пробовал, не проканало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 17:09:49 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
vgorshkovНо есть одна проблема, при экспорте формат ячейки в которую экспортируется дата меняется неизвестно от чего, то она текстовая, то числовая. Но вот отображение её всегда в числовом виде. Слабо верится. Пример можешь выложить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 17:48:44 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
данные также передавать как строка, просто формат ячейки в самом excel устанавливать не "общий", а "дата" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 20:37:38 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Данные нужно передавать как даты, в том числе принудительно задавать VarType. Не исключено, что в этом и суть проблемы: после каких-то манипуляций данные становятся типа Double. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 20:56:17 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Соколинский БорисДанные нужно передавать как даты, в том числе принудительно задавать VarType. Не исключено, что в этом и суть проблемы: после каких-то манипуляций данные становятся типа Double.А это в Экселе установлен "стандартный" формат ячеек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 21:12:55 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
[quot GatorА это в Экселе установлен "стандартный" формат ячеек[/quot] Нет, я имел в виду что-то типа этого Код: plaintext 1. 2. 3. Стандартный формат отображает даты как даты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2010, 22:37:07 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Соколинский БорисGatorА это в Экселе установлен "стандартный" формат ячеек Нет, я имел в виду что-то типа этого Код: plaintext 1. 2. 3. Стандартный формат отображает даты как даты.IMHO ну их. Даже без Delphi при копировании/импорте в Excel бывало, что среди дат вдруг лезут "DateTime as Double" или "Integer as Date". Так что у меня рефлекс: хочешь дату - установи формат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 00:19:13 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
возможно оно вам и не надо, но напишу: 1. выборку данных с MSSQL сервака в езель можно делать напрямую - Данные, с сервера SQL... 2. можно сам екзель использовать как СУБД (г.. конечно, но можно,), при этом не надо думать над форматами данных ячеек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 06:36:08 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Соколинский Борис, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 10:09:00 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
vgorshkov, многа букаф Без намека на даты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 10:15:30 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Gator, Код: plaintext 1. 2. вот если так сделать, то все работает как положено, но...если у пользователя Excel английский или еще какой нибудь? как определить какой именно формат здесь приемлемо использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 10:45:14 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 10:53:22 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
vgorshkovGator, Код: plaintext 1. 2. вот если так сделать, то все работает как положено, но...если у пользователя Excel английский или еще какой нибудь? как определить какой именно формат здесь приемлемо использовать? Для локализованых Экселей положено использовать NumberFormatLocal ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 11:04:51 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Gator, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. пытался использовать функцию указанную в этой статье, дает ошибку: '(' expected but '[' found а что за ошибка, я не могу понять...не учили нас такому в Туркмении :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 11:31:06 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Anatoly Podgoretsky, просвятите пожалуйста, что значит локализованная эксель? это значит что настройки региональные отличаются от глобальных? или как? я пробовал гуглить на эту тему, ничего не нашел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 11:35:37 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
vgorshkov, А ты не используй TExcelApplication, а используй нормальную COM/OLE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 11:55:03 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
vgorshkov, В твоем коде слишком много мест, где может быть ошибка. Давай так: берешь простой пример, который работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Так быстрее ошибку найдем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 12:17:59 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
vgorshkovAnatoly Podgoretsky, просвятите пожалуйста, что значит локализованная эксель? это значит что настройки региональные отличаются от глобальных? или как? я пробовал гуглить на эту тему, ничего не нашел Зачем же используешь не локализованую версию. Она же только для английского. авторReturns or sets the format code for the object as a string in the language of the user. Почему ты вводишь локализированый формат для английских пользователей авторесли у пользователя Excel английский или еще какой нибудь? Думаешь оно понимает ДД.ММ.ГГГГ Для ДД.ММ.ГГГГ существует NumberFormatLocal, а не NumberFormat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 13:52:52 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
уважаемые, я наверное не совсем понимаю что нужно делать, я поставил проверку такого типа: Код: plaintext 1. 2. т.е. если тип Дата, то преобразовать в дату, все работает прекрасно, но как сделать чтобы это работало независимо от версии Excel? Статьи которые Вы предлогали я прочел, пробовал использовать функции которые там описаны, но они ничего хорошего мне непринесли, дают ошибки непонятного для меня характера. Может кто знает где можно про все это дело почитать в подробностях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 16:17:24 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
vgorshkovт.е. если тип Дата, то преобразовать в дату, все работает прекрасно, но как сделать чтобы это работало независимо от версии Excel? Из дельфей не сделаешь, поскольку мелкомягкие не доделали это место для Automation и неизвестно когда доделают. Только макросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 16:42:50 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
vgorshkovуважаемые, я наверное не совсем понимаю что нужно делать, я поставил проверку такого типа: Код: plaintext 1. 2. т.е. если тип Дата, то преобразовать в дату, все работает прекрасно, но как сделать чтобы это работало независимо от версии Excel? Статьи которые Вы предлогали я прочел, пробовал использовать функции которые там описаны, но они ничего хорошего мне непринесли, дают ошибки непонятного для меня характера. Может кто знает где можно про все это дело почитать в подробностях? Попробуй в NumberFormat указать 'dd.mm.yyyy' и проверить на русской локализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 17:04:00 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
Anatoly Podgoretsky, попробовал, вместо всех дат пишет dd.mm.yyyy ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 17:05:28 |
|
||
|
не понятно как экспортировать даты в Excel
|
|||
|---|---|---|---|
|
#18+
В Excel-e есть древний баг: когда через Automation задаешь Range.NumberFormat на самом деле отрабатывает Range.NumberFormatLocal. Лечится либо макросом, либо шаблоном с форматированием (условным форматированием). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2010, 17:50:13 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=37003425&tid=2041479]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
163ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 431ms |

| 0 / 0 |
