"EhLib.Com" https://forum.ehlib.com/ru/ |
|
Неверный экспорт сетки в Excel https://forum.ehlib.com/ru/viewtopic.php?f=4&t=2904 |
Страница 1 из 1 |
Автор: | as2714 [ 27 янв 2020, 08:35 ] | ||||
Заголовок сообщения: | Неверный экспорт сетки в Excel | ||||
Добрый день. При экспорте сетки в Excel (средствами TDBGridEh) пропадает разделитель дробной части и данные выглядят неверно (поле F2). Если в данных 2 знака после запятой, то все выводится нормально. Иначе как описано выше Или у меня что-то неправильно при экспорте? Заранее благодарен. Delphi XE5 Ehlib Build 9.4.021 without source Это данные в проекте [img]Proj.jpg[/img] Это при экспорт в Excel [img]ExpExcel.jpg[/img] Файл с проектом прикрепил.
|
Автор: | Konctantin [ 27 янв 2020, 10:27 ] |
Заголовок сообщения: | Re: Неверный экспорт сетки в Excel |
Здравствуйте, эта ошибка связана с тем, что скорее всего при експорте в xls не учитываются региональные настройки, так как задействован ole. Так к примеру при експорте в xlsx, использується инвариантный формат (e.g. #,##0.00), а вот с ole такой вариант не пройдет, ему надо скармливать что-то на подобии такого (e.g. # ##0,00), да и к тому же нужно делать некий запас на разделители тысячных частей (e.g. ### ### ### ##0,00). Так что либо нужно поигратся с DisplayFormat столбца либо писать свой экспорт. |
Автор: | as2714 [ 27 янв 2020, 12:00 ] | ||
Заголовок сообщения: | Re: Неверный экспорт сетки в Excel | ||
Konctantin писал(а): Здравствуйте, эта ошибка связана с тем, что скорее всего при експорте в xls не учитываются региональные настройки, так как задействован ole. Так к примеру при експорте в xlsx, использується инвариантный формат (e.g. #,##0.00), а вот с ole такой вариант не пройдет, ему надо скармливать что-то на подобии такого (e.g. # ##0,00), да и к тому же нужно делать некий запас на разделители тысячных частей (e.g. ### ### ### ##0,00). Так что либо нужно поигратся с DisplayFormat столбца либо писать свой экспорт. Здравствуйте. С DisplayFormat игрался, результат тот же... Поставил версию 9.4.019 и запустил проект - такой ошибки нет )) [img]ExpExcel_9_4_019.jpg[/img] P.S. поторопился ))) ошибка есть, но только после 4 знака, с 3-я знаками после запятой все нормально )))
|
Автор: | EhLibSupport [ 27 янв 2020, 13:21 ] |
Заголовок сообщения: | Re: Неверный экспорт сетки в Excel |
Добрый день. В строке Код: 4 : ExportDBGridEhToOleExcel(DBGridEh1, [oxlsColoredEh, oxlsDataAsDisplayText, oxlsDataAsEditText], True); вы указываете, что хотите передавать все данные как текст.Однако эксель почему-то пытается преобразовывать данные в число и делает это неправильно, отбрасывает десятичный разделитель. На данный момент определить причину не удается. Как вариант, предлагаем экспортировать числа как числа Код: 4 : ExportDBGridEhToOleExcel(DBGridEh1, [oxlsColoredEh], True); либо использовать для экспорта функцию ExportDBGridEhToXlsx Код: 5 : begin
FName := AppPath + 'file.xlsx'; ExportDBGridEhToXlsx(DBGridEh1, FName, [xlsxColoredEh, xlsxDataAsDisplayText, xlsxDataAsEditText], True); end; |
Автор: | as2714 [ 27 янв 2020, 15:08 ] |
Заголовок сообщения: | Re: Неверный экспорт сетки в Excel |
EhLibSupport писал(а): Как вариант, предлагаем экспортировать числа как числа Код: 4 : ExportDBGridEhToOleExcel(DBGridEh1, [oxlsColoredEh], True); Точно, глаз замылился... Спасибо! 4-ый вариант подошел!!! |
Страница 1 из 1 | Часовой пояс: UTC |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |