locked
Manter a formula do Excel - VS2005 - C# RRS feed

  • Pergunta

  • Fala Pessoal, blz?

    Tenho uma planilha na qual manipulo os dados através de uma aplicação web [Visual Studio 2005 + C# 2.0].

    Em algumas células eu posso ou não ter informações.
    Se eu não passo nenhum valor para estas células o excel utiliza o resultado da formula, mas se eu passar é pra utilizar o valor passado.

    Estou tentando passar NULO para o excel, mas ele não deixa. Ele transforma em "", isso apaga a formula que tem na célula e atrapalha o meu calculo.

    Alguém tem idéia de como resolver isso?

    Valeu galera.

    Abs,
    segunda-feira, 9 de junho de 2008 18:36

Respostas

  • Fala Luiz, blz?

    É cara, infelizmente o String.Empty não funcionou...
    Eu tive que "pular" o preenchimento da célula que possui a formula.

    Cara, o código desta parada é extremamente grande, mas a idéia é + - assim:

    Eu tenho uma planilha do excel que me server de calculadora, e esta planilha tem informações de uns 10 anos de fábrica. Por isso ela não pode ser substituida.
    Nesta planilha, existem várias formulas em várias células e estas células podem ser preenchidas ou não. Se uma destas células não for preenchida, o excel calculará o valor baseado nas formulas. Caso o valor seja preenchido pelo usuário, o excel dispensa a formula e utiliza o valor colocado manualmente.

    O problema foi quando eu não passava nenhum valor (com o intuito de deixar o excel calcular baseado na formula), porém o excel não calculava. E quando eu abria a planilha e olhava a célula ela estava sem a formula, em branco!

    Mas eu resolvi o problema populando uma célula "sem uso" neste momento.

    Resolução

    if (celulasOrigemValores[linha] != "ƒ")
    {
        celulas = excelWS.get_Range(celulasOrigem[linha], celulasOrigem[linha]);
        celulas.Cells.Value2 = celulasOrigemValores[linha];
    }
    else
    {
        celulas = excelWS.get_Range("IV999", "IV999");
        celulas.Cells.Value2 = String.Empty;
    }

    quinta-feira, 12 de junho de 2008 12:30

Todas as Respostas

  • Diego,

     

    não entendi sua dúvida nem o que está tentando fazer. Poderia postar a parte do código que causa dúvida? O Excel não trabalha com Null, mas não entendi por que você não pode usar o String.Empty na sua lógica.

     

    quinta-feira, 12 de junho de 2008 05:40
    Moderador
  • Fala Luiz, blz?

    É cara, infelizmente o String.Empty não funcionou...
    Eu tive que "pular" o preenchimento da célula que possui a formula.

    Cara, o código desta parada é extremamente grande, mas a idéia é + - assim:

    Eu tenho uma planilha do excel que me server de calculadora, e esta planilha tem informações de uns 10 anos de fábrica. Por isso ela não pode ser substituida.
    Nesta planilha, existem várias formulas em várias células e estas células podem ser preenchidas ou não. Se uma destas células não for preenchida, o excel calculará o valor baseado nas formulas. Caso o valor seja preenchido pelo usuário, o excel dispensa a formula e utiliza o valor colocado manualmente.

    O problema foi quando eu não passava nenhum valor (com o intuito de deixar o excel calcular baseado na formula), porém o excel não calculava. E quando eu abria a planilha e olhava a célula ela estava sem a formula, em branco!

    Mas eu resolvi o problema populando uma célula "sem uso" neste momento.

    Resolução

    if (celulasOrigemValores[linha] != "ƒ")
    {
        celulas = excelWS.get_Range(celulasOrigem[linha], celulasOrigem[linha]);
        celulas.Cells.Value2 = celulasOrigemValores[linha];
    }
    else
    {
        celulas = excelWS.get_Range("IV999", "IV999");
        celulas.Cells.Value2 = String.Empty;
    }

    quinta-feira, 12 de junho de 2008 12:30