Como reter cores de fundo ao colar entre documentos no Excel

2

Eu tenho um script que programaticamente gera planilhas do Excel - limpando os relatórios feios que nos são fornecidos por outra organização. Por motivos de interesse; Estou usando o PHPExcel para gerar os relatórios "limpos".

Recebemos esses relatórios toda semana para um evento que acontece a cada dois meses. Os relatórios contêm uma lista de participantes junto com um ID de grupo que nos permite saber que alguns participantes pertencem juntos.

Para ajudar os organizadores do evento, peguei o ID do evento e criei um código de cor não uniforme (com base no hash do ID do evento - truncado em 6 caracteres). Esse código de cor exclusivo é definido como a cor de fundo de uma célula em cada linha. Isso ajuda os organizadores a identificar visualmente os membros do grupo.

O problema é que quando os organizadores copiam as linhas do relatório de semanas para o relatório mestre (que contém todos os participantes, não apenas os que se inscreveram nesta semana) - todos os códigos de cor se encaixam na paleta de cores do modelo mestre.

Muito obrigado pelo seu tempo

Tudo de bom Iain

    
por Iain Fraser 12.02.2010 / 01:19

1 resposta

1

Eu acho que o problema é que valores exatos de cor RGB para objetos não são realmente suportados no Excel (pelo menos não em 2003, que eu também estou usando).

Mesmo se eu usar o Excel VBA para definir o plano de fundo de uma célula como um valor RGB específico, ele será encaixado na entrada de paleta mais próxima.

Parece, portanto, que você trabalhou com PHPExcel (não é familiar, mas presumindo que esteja criando arquivos XLS do zero), assim que você copia para outra planilha, você está limitado ao comportamento normal do Excel. / p>

Esta entrada de Banco de dados do MS descreve o problema no Excel 2000 e sugere uma solução alternativa usando o objeto ShapeRange VBA. Se você não puder endereçar este objeto no PHPExcel, talvez você possa usar o VBA para processar os arquivos depois?

    
por 10.03.2010 / 14:23