-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProgram.cs
181 lines (140 loc) · 8.12 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
using System;
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
using Spire.Doc.Fields;
namespace exemplo
{
class Program
{
static void Main(string[] args)
{
#region Criacao do documento
// Cria um documento com o nome exemploDoc
Document exemploDoc = new Document();
#endregion
#region Criacao de secao no documento
//Adiciona uma seção capa com o nome secaoCapa ao documento
Section secaoCapa = exemploDoc.AddSection();
#endregion
//Cria um paragrafo com o nome titulo
#region Criar um paragrafo
//Cria um paragrafo com o nome titulo e adiciona á secaoCapa
//Os paragrafos são necessários para inserção de textos, imagens, tabelas etc
Paragraph titulo = secaoCapa.AddParagraph();
#endregion
#region Adiciona texto ao paragrafo
//Adiciona o texto Exemplo de titulo ao paragrafo titulo
titulo.AppendText("Exemplo de titulo\n\n");
#endregion
#region Formatar paragrafo
titulo.Format.HorizontalAlignment = HorizontalAlignment.Center;
//Cria um estilo com o nome estilo 01 e adiciona ao ]documento
ParagraphStyle estilo01 = new ParagraphStyle(exemploDoc);
//Adiciona um nome ao estilo01
estilo01.Name = "cor do titulo";
//Definir a cor do texto
estilo01.CharacterFormat.TextColor = Color.DarkBlue;
// Define que o texto será em negrito
estilo01.CharacterFormat.Bold = true;
// Adiciona o estilo01 ao documento exemploDOC
exemploDoc.Styles.Add(estilo01);
titulo.ApplyStyle(estilo01.Name);
#endregion
#region trabalhar com Tabulação
//Adicione um paragrafo TextoCapa a seção secaoCapa
Paragraph textoCapa = secaoCapa.AddParagraph();
//Adiciona um texto ao paragrafo com tabulação
textoCapa.AppendText("\tEste é um Exemplo de texto com Tabulação\n");
//Adiciona um novo paragrafo á mesma seçao (secaoCapa)
Paragraph textoCapa2 = secaoCapa.AddParagraph();
//Adiciona um texto ao paragrafo textoCapa2 com concatenção
textoCapa2.AppendText("\tBasicamente, então, uma secao representa uma pagina do documento e os paragrafos dentro de uma mesma seção," + "Obviamente, aparecem na mesma página");
#endregion
#region Insira uma Imagem
//Adiciona um paragrafo a seção secaoCapa
Paragraph ImagemCapa = secaoCapa.AddParagraph();
//Adiciona um texto ao paragrafo ImagemCapa
ImagemCapa.AppendText("\n\n\tAgora vamos inserir uma imagem ao document\n\n");
//Centralizado horizontamente o paragrafo e ImagemCapa
ImagemCapa.Format.HorizontalAlignment = HorizontalAlignment.Center;
// Adiciona um imagem com o nome imagemExemplo ao paragrafo imagemCapa
DocPicture imagemExemplo = ImagemCapa.AppendPicture(Image.FromFile(@"saida\img\logo_csharp.png"));
//Define uma largura e uma altura para a imagem
imagemExemplo.Width = 300;
imagemExemplo.Height = 300;
#endregion
#region Adicionar a nova seção
//adiciona uma nova seção
Section secaoCorpo = exemploDoc.AddSection();
//Adiciona um paragrafo a seção secaoCorpo
Paragraph paragrafoCorpo1 = secaoCorpo.AddParagraph();
//Adiciona um Texto ao paragrafo paragrafoCorpo1
paragrafoCorpo1.AppendText("\t Eeste é um exemplo de paragrafo criado em uma nova seção." + "\t Como foi criada uma nova seção, perceba que este texto aparece em uma nova página.");
#endregion
//Adiciona uma tabela á seção secaoCorpo
#region Adicinar uma Tabela
Table tabela = secaoCorpo.AddTable(true);
//Cria o cabeçalho da tabela
String[] cabecalho ={"Item", "Descrição", "Qtd", "Preço", " Preço Unit"};
String[] [] dados = {
new String[]{"Cenoura", "Vegetal muito Nutritvo", "1", "R$ 4,00", "R$ 4,00"},
new String[]{"Batata", "Vegetal muito Nutritvo", "2", "R$ 6,00", "R$ 12,00"},
new String[]{"Cebola", "Vegetal muito Nutritvo", "1", "R$ 4,00", "R$ 4,00"},
new String[]{"Beterraba", "Vegetal muito Nutritvo", "2", "R$ 4,00", "R$ 8,00"},
};
//Adicina as células na tabela
tabela.ResetCells(dados.Length + 1, cabecalho.Length);
//Adicina uma linha na posição [0] do vetor de linha
// E define que esta linha é o cabeçalho
TableRow Linha1 = tabela.Rows[0];
Linha1.IsHeader = true;
//Define altura da linha
Linha1.Height = 23;
//Formatação do cabeçalho
Linha1.RowFormat.BackColor = Color.AliceBlue;
// Percorre as colunas do cabeçalho
for (int i = 0; i < cabecalho.Length; i++)
{
//alinhamnento das celulas
Paragraph p = Linha1.Cells[i].AddParagraph();
Linha1.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
p.Format.HorizontalAlignment = HorizontalAlignment.Center;
//Formatação dod dados do cabeçalhos
TextRange TR = p.AppendText(cabecalho[i]);
TR.CharacterFormat.FontName = "Calibri";
TR.CharacterFormat.FontSize = 14;
TR.CharacterFormat.TextColor = Color.Teal;
TR.CharacterFormat.Bold = true;
}
// Adicina as linhas do corpo da tabela
for (int r = 0; r < dados.Length; r++)
{
TableRow LinhaDados = tabela.Rows[r +1];
//Define a açtura da linha
LinhaDados.Height = 20;
for (int c = 0; c < dados[r].Length; c++)
{
//Alinha as Células
LinhaDados.Cells[c] .CellFormat.VerticalAlignment = VerticalAlignment.Middle;
//Preenche os dados nas linhas
Paragraph p2 = LinhaDados.Cells[c].AddParagraph();
TextRange TR2 = p2.AppendText(dados[r][c]);
//Formata as linhas
p2.Format.HorizontalAlignment =HorizontalAlignment.Center;
TR2.CharacterFormat.FontName = "Calibri";
TR2.CharacterFormat.FontSize = 12;
TR2.CharacterFormat.TextColor = Color.Brown;
}
}
#endregion
#region Salvar arquivo
//Salva o arquivo em Docx
//Utiliza o método SaveTiFile para salavar o arquvo no formato desejado
//Assim como no word, caso já exita um arquivo com este nome, é substituido
exemploDoc.SaveToFile (@"saida\exemplo_arquivo_word.docx", FileFormat.Docx);
#endregion
}
}
}