Когда мы экспортируем отчет SSRS 2008 в Excel, а затем копируем диапазон из этого файла в другой файл Excel, цвета, используемые в отчете, изменяются на что-то совершенно другое, что очень раздражает, когда мы используем «Условное форматирование» для окрашивания некоторых из эти клетки определенного цвета. Есть идеи, почему?
Цвета отчета SSRS меняются при экспорте в Excel
Ответы (4)
Это связано с тем, что MS начала использовать пользовательскую цветовую палитру Excel с SQL Server 2008 вместо встроенных цветов. Проблема именно в том, что вы описываете, что при копировании и вставке цветов с одного листа на другой вы теряете форматирование. К сожалению: нет никакого способа обойти это.
См. этот пост: Экспорт копии Excel в другую проблему обесцвечивания Excel для SSRS 2008
https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=386055
Предложение группы SSRS (в приведенной выше ссылке/сообщении). Опубликовано Microsoft 29.05.2011 в 15:34. API для COM/.NET аналогичен. Вы вызываете Worksheet.Copy, который не предоставляет эти параметры. Взгляните на Range.Copy и Range.PasteSpecial.
У кого-нибудь есть ссылка на какой-либо код С# для использования вызовов Range.Copy или PasteSpecial для копирования из одной книги/листа в другую книгу?
Я полагаю, что KeepSourceFormat или KeepSourceScheme помогут скопировать лист из одной книги в другую, чтобы избежать проблемы с изменением цвета в отчете SSRS 2008 R2 Excel.
Если вам нужно только скопировать и вставить его из одного файла в другой, вы не можете просто Ctrl+C и Ctrl+P. Ctrl+C работает нормально, но из-за чего-то нужно щелкнуть правой кнопкой мыши и в Параметры вставки нужно свернуть вниз Специальная вставка и найдите кнопку Сохранить исходное форматирование. Это работает для меня, потому что сохраняет все цвета и форматирование, кроме размера ячеек.
Это сработало для меня.
=IIF(sum(Fields!TotalHours.Value) <> "", "White","Pink")
другими словами, убедитесь, что вы определили цвета для обоих условий. Затем на странице Tablix1 Свойства в разделе Цвет заливки фона удалите «Автоматически» и выберите «Нет цвета».