1 - Crie um novo projeto windows | console application.
2 - Defina o nome do projeto como OfficeApplication
3 - Adicione duas referencias: Microsoft.Office.Interop.Excel e Microsoft.Office.Interop.Word
Obs : certifique-se que a versão selecionada é 12.0.0.0
4 - Adicione uma nova classe chamada Account.cs
5 - Adicione as propriedades abaixo:
public class Account
{
public int ID { get; set; }
public double Balance { get; set; }
public string AccountHolder { get; set; }
}
6 - Crie um novo método chamado CreateAccountList na classe Program.cs
private static List<Account> CreateAccountList()
{
var checkAccounts = new List<Account> {
new Account{
ID = 1,
Balance = 285.93,
AccountHolder = "John Doe"
},
new Account {
ID = 2,
Balance = 2349.23,
AccountHolder = "Richard Roe"
},
new Account {
ID = 3,
Balance = -39.46,
AccountHolder = "I Dunoe"
}
};
return checkAccounts;
}
7 - No método Main da classe Program.cs adicione o código abaixo :
static void Main(string[] args) { var checkAccounts = CreateAccountList(); }
8 - Na classe Programa.cs adicione os namespace :
using Microsoft.Office.Interop;
using Excel = Microsoft.Office.Interop.Excel;
using Word = Microsoft.Office.Interop.Word;
9 - Abaixo do método Main insira o bloco de código abaixo que cria um nova planilha :
static void DisplayInExcel(this IEnumerable<Account> accounts,
Action<Account, Excel.Range> DisplayFunc)
{
var x1 = new Excel.Application();
//veja as Células abaixo criando o cabeçalho
x1.Workbooks.Add();
x1.Visible = true;
x1.get_Range("A1").Value2 = "ID";
x1.get_Range("B1").Value2 = "Balance";
x1.get_Range("C1").Value2 = "Account Holder";
x1.get_Range("A2").Select();
foreach (var ac in accounts)
{
DisplayFunc(ac, x1.ActiveCell);
x1.ActiveCell.get_Offset(1, 0).Select();
}
((Excel.Range)x1.Columns[1]).AutoFit();
((Excel.Range)x1.Columns[2]).AutoFit();
((Excel.Range)x1.Columns[3]).AutoFit();
}
Obs: É necessário a alterar a classe Program.cs para static como exemplo abaixo:
static class Program
{ ...
10 - Adicione no seu método Main da classe Program.cs o bloco de código abaixo :
checkAccounts.DisplayInExcel((account, cell) =>
{
cell.Value2 = account.ID;
cell.get_Offset(0, 1).Value2 = account.Balance;
cell.get_Offset(0, 2).Value2 = account.AccountHolder;
if (account.Balance < 0)
{
cell.Interior.Color = 255;
cell.get_Offset(0, 1).Interior.Color = 255;
cell.get_Offset(0, 2).Interior.Color = 255;
}
});
11 - Aperte F5 para executar o projeto e veja como ficou.
Fonte : Microsoft Training Kit VS2010
Fala meu querido.
ResponderExcluirCara, que Deus abençoe sua vida. Sei de sua capacidade.
Tenha certeza que estarei acompanhando você pelo blog. Tenho muito para aprender com você.
Mostre o que você sabe.
Abraços