значение привязки данных gridview в экспортированном excel в 10 раз выше, чем должно быть

#asp.net #excel #gridview #data-binding #datasource

Вопрос:

Мне нужно сгенерировать файл excel, однако в этом файле цены на продукты должны быть увеличены на 5%. Это мой код для повышения цен:

   foreach (var p in products)
        {
            p.Price *= 1.05M;
                           
        }
 

Цена-это десятичный тип данных. Вот как я привязываю данные к представлению сетки.

  GridView gv = new GridView();
 gv.DataSource = products;
 gv.DataBind();
 

Я попробовал отладку — в списке товаров указаны правильные цены, цена правильно увеличена. Однако, когда excel генерирует цену, она всегда равна * 10.

Например, у меня цена продукта 1,93 — в списке продуктов после увеличения значение равно 2,0265, но в Excel показано значение 20,265.

Кто-нибудь, пожалуйста, помогите, у меня нет никаких идей.

Комментарии:

1. Вы помещаете данные в представление сетки, а затем говорите об Excel. Я предполагаю, что вы создаете html-файл из GridView и экспортируете его в файл .xls. Не делай этого. Используйте что-то вроде EPPlus для создания файлов excel.