locked
Atualizar dados através do ASP .NET RRS feed

  • Pergunta

  • Fala Galera, blz?

    Tenho uma planilha do Excel que busca várias informações no SQL Server.
    Isso já está funcionando... Quando eu abro esta planilha, ele busca automaticamente a informação no DB e atualiza as informações no próprio Excel.

    Meu problema é que não utilizo o Excel como front-end, só utilizo a planilha como uma calculadora.

    Através do ASP .NET (C#) eu abro a planilha e pego os valores de algumas células.
    Porém, quando eu faço isso através do ASP .NET a planilha não atualiza os dados.

    Alguém tem idéia do que fazer?

    Valeu galera.

    Abs,
    segunda-feira, 7 de abril de 2008 17:10

Respostas

  • Consegui fazer a atualização dos dados.

    Segue a solução que fiz:       
    Utilizo o componente do Excel, abro um Workbook e crio um Worksheet.

    Excel.Application excelApp = new Excel.Application();
            excelApp.Visible = false;

            Excel.Workbook excelWB = excelApp.Workbooks.Open(System.Configuration.ConfigurationManager.AppSettings["CaminhoArquivo"].ToString() + "PlanilhaCusto.xls", System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);

            Excel.Worksheet excelWS = (Excel.Worksheet)excelWB.Worksheets["Plan1"];


    Células que utilizarei para colocar os dados na planilha
    Defino o Range das células que trabalharei

    Excel.Range celulas = null;

    celulas = excelWS.get_Range("C1", "C1");
    celulas.Cells.Value2 = txtCampo1.Text;

    celulas = excelWS.get_Range("C2", "C2");
    celulas.Cells.Value2 = txtCampo2.Text;


    Pego o retorno desta célula que tem uma formula
    Esta célula na minha planilha, já tem uma formula.

    celulas = excelWS.get_Range("C4", "C4");
    lblResultado.Text += celulas.Cells.Value2.ToString();



    Atualizo e fecho o componente do excel
    Para fechar o componente e o Workbook.

    excelApp.ActiveWorkbook.RefreshAll();
    excelApp.Workbooks.Application.ActiveWorkbook.RefreshAll();

    excelWB.Close(false, null, null);
    excelApp.Quit();



    Com isso, consegui realizar a tarefa que precisava.

    Obrigado a todos.
    terça-feira, 8 de abril de 2008 20:49