Изменение цвета при объединении листов Excel (экспортированных из SSRS) - PullRequest
0 голосов
/ 16 сентября 2011

Я столкнулся со странной проблемой, когда разработал 3 отчета в решении SSRS 2008 и экспортировал их в листы Excel, которые экспортировались с нужными цветами (зеленый, красный, оранжевый). Когда я попытался объединить их в один лист Excel, скопировав все листы, я обнаружил, что цвета меняются странным образом, и мне пришлось менять их вручную. Я попытался воспроизвести то же слияние, используя код C #, который также не был плодотворным.

Изменение цвета вручную очень утомительно, потому что у меня всего 64 отчета. Пожалуйста, предложите мне что-нибудь, чтобы преодолеть эту проблему.

Заранее спасибо !!

1 Ответ

2 голосов
/ 17 сентября 2011

Редактировать 4:

Я сделал это консольное приложение, чтобы имитировать то, что вы делаете.

namespace ExcelConsole
{
using System.IO;

using ExcelCombine;

class Program
{
    public static string Thepath { get; set; }
    public static string TheFirstFile { get; set; }
    public string[] files = null;

    static void Main(string[] args)
    {
        Thepath = @"C:\Users\J\Desktop\TestingFolder\";
        string[] files = Directory.GetFiles(Thepath);
        TheFirstFile = files[0];
        ExcelEngine.CombineWorkBooks(Thepath, "*.xls", Thepath, false, TheFirstFile);
    }
}
}

Я использовал класс, который вы уже должны иметь.В папке «TestingFolder», на которую вы видите ссылку выше, я поместил шаблон и копии с формулами.После запуска приложения оно прекрасно их скомбинировало и сохранило форматирование / формулы.

Редактировать 5:

Я думаю, что, возможно, все-таки что-то получилось.

Втот код Excel, который я вам дал, измените это:

 sheetToCopy.Copy(defaultWorksheet)

На это:

sheetToCopy.Range["A1", "AC60"].Copy();
newBook.Activate();
newBook.Sheets.Add(Type.Missing,defaultWorksheet);
newBook.ActiveSheet.Range["A1", "Z50"].Select();

newBook.ActiveSheet.PasteSpecial(XlPasteType.xlPasteAllUsingSourceTheme);

Для меня это означало сохранение окраски и копирование данных, но независимо от того, какиеОпция вставки, которую я использовал, ширины столбцов не копировалась.

Надеюсь, это поможет хоть немного.

...