1
resposta

Código da aula não executa

Ao tentar rodar o código dado na aula tenho um erro em tempo de execução, MESMO TENDO O OFFICE INSTALADO.

      Type excelType = Type.GetTypeFromProgID("Excel.Application", true);
      dynamic excel = Activator.CreateInstance(excelType);

      excel.Visible = true;
      excel.Workbooks.Add();

      dynamic planilha = excel.ActiveSheet;

      planilha.Cells[1, "A"] = "Alura";
      planilha.Cells[1, "B"] = "Cursos";
      planilha.Cells[2, "A"] = "Certificação";
      planilha.Cells[2, "B"] = "C#";
      planilha.Columns[1].AutoFit();
      planilha.Columns[2].AutoFit();

Erro:

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''System.__ComObject' does not contain a definition for 'Visible''
1 resposta

Olá Rafael, tudo bem?

Pode ser que nas versões atuais não suporte parte deste código. Pelo que vi em uma issue sobre o assunto, no .Net Core 3.x não está com a biblioteca 100% funcionando.

Pelo jeito ainda não corrigiram este erro de runtime. E pelo que vi, faz um bom tempo que se tem alguns problemas com este tipo de código de interoperabilidade, mas poucas "soluções" para isso.