for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Не фоксом единым
   :: Помощь сайту :: 

Excel округляет
S-type
Автор

Сообщений: 2337
Дата: 23.04.18 15:23:26ОтветитьЦитировать
Есть программа на C#. С помощью OleDbConnection() данные считываются из Excel-евского файла в DataSet.


Затем из dtData извлекаются данные:

  
  string summa = dtData.Rows[1].row[1].ToString();

В Excel-евом файле в ячейке установлено значение с четырьмя знаками после запятой. А в формате ячейки стоит два знака после запятой. Например, физически в ячейке 1.9998, а отображается 2.00. В summa попадает "2.00". Если зайти в файл, и указать в формате ячейки "четыре знака после запятой", то в summa попадает "1.9998". Файлы генерирует другая система, и нет возможности на неё повлиять. Надо сделать так, что бы программой скачивалось реальное значение, а не округлённое. Как можно сделать, что бы каждый раз не заходить в файл и не менять вручную формат ячейки?



[i]Исправлено: S-type, 23.04.18 15:30
Ratings: 0 negative/0 positive

Re: Excel округляет
Гулин Федор

Сообщений: 3938
Откуда: Минск
Дата: 23.04.18 15:49:17ОтветитьЦитировать
макрос посмотреть что делает - когда ставит 4 знака
и прописать этот же код в исходник
Ratings: 0 negative/0 positive

Re: Excel округляет
pasha_usue

Сообщений: 2926
Откуда: Е-бург
Дата: 23.04.18 19:26:09ОтветитьЦитировать
Установка IMEX=1 для драйвера. С одной стороны, она позволяет считать значения разного типа из ячеек экселя (intermixed). С другой стороны, считывается не "значение" (value) ячейки, а текстовое "представление" (text) ячейки.
Либо отключать IMEX, либо использовать более другой способ чтения. Microsoft.Office.Interop.Excel?
Ratings: 0 negative/0 positive

Re: Excel округляет
S-type
Автор

Сообщений: 2337
Дата: 18.05.18 20:40:09ОтветитьЦитировать
Коллеги, спасибо за помощь.
Ratings: 0 negative/0 positive



Извините, только зарегистрированные пользователи могут писать в этом форуме.

On-line: 49 frontman Гулин Федор Crispy  and Guests: 46


© 2000-2018 Fox Club 
Яндекс.Метрика