Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Asprendendo2010

[Resolvido] Asp e Excel

Recommended Posts

Aí pessoal tudo bom?

 

Gostaria de saber como faço p/ manipular as celulas do EXCEL no ASP, pq to gerando um relatório em uma página só que quando ele abre o EXCEL OS RESULTADOS FICAM TODOS COLADINHOS UM POR CIMA DO OUTRO. Aí queria saber como eu faço p/ tratar essas CELULAS, já abrir com os ENUNCIADOS em NEGRITO e com o devido espaçamento nas células,

 

Desde Já AGRADEÇO pela Atenção de todos!!!

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo, pode te ajudar

 

O primeiro passo é modificar o tipo de MIME no cabeçalho, de modo que o navegador sabe que este é um arquivo do Excel, e não uma página HTML:

 

<% 
  Response.ContentType = "application/vnd.ms-excel"
%>

 

Observação: este tem de estar no topo da página, antes de mais nada.

 

Uma vez que você fez que é simplesmente um caso de leitura através dos campos no banco de dados e imprimi-los a uma tabela em HTML padrão:

 

<% set objconn=server.createobject("adodb.connection")
connpath="DBQ=" & server.mappath("my_access_database.mdb")
objconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & connpath
set objrs=objconn.execute("select * from products")
%>
 <TABLE BORDER=1>
<TR>
<% 

  '  Loop through each Field, printing out the Field Names


For i = 0 to objrs.fields.count - 1 
%>
<TD><% = objrs(i).name %></TD>
<% next %>
 </TR>
<% 

  '  Loop through rows, displaying each field

while not objrs.eof
%>
  <TR>
<% For i = 0 to objrs.fields.count - 1
%>
<TD VALIGN=TOP><% = objrs(i) %></TD>
<% Next %>

</TR>
<%
objrs.MoveNext

wend

objrs.Close
objconn.close
%>

 

Você pode até mesmo incluir função do Excel simples, como SUM - basta colocar o mesmo texto em um campo da tabela como você faria no campo de Excel - como em:

 

<tr><TD>=SUM(B2:B6)</TD></tr>

 

Isso mostra em um campo da tabela o total de linhas B2 a B6 no Excel. Para conseguir isto, você precisa saber o nome e a letra dos campos que serão exibidos.

 

Zeros à esquerda

 

 

Você pode manter zeros à esquerda em uma caixa, colocando um non-breaking carácter de espaço () na frente do número. Como em:

 

<%= objrs(i) %>

 

Moeda e outros formatos

 

Formatação de moeda pode ser definido em uma célula do Excel anterior aos valores com o símbolo de moeda. Por exemplo, precedem o valor com um sinal de real.

 

<TD> R$% <% = ObjRS (i)> </ td>

 

Mais formatação moeda está disponível com a função FormatCurrency. FormatCurrency tem vários parâmetros que são opcionais.

 

FormatCurrency (Expression [, NumDigitsAfterDecimal [, IncludeLeadingDigit [, UseParensForNegativeNumbers [, GroupDigits ]]]])

 

A célula formatada com um cifrão anterior, possuem duas casas decimais, preceda os valores em reais menos do que um com um zero, parênteses lugar em torno de valores negativos, e use vírgulas para milhares grupo.

<td> <% = FormatCurrency (objRS (i), 2, vbTrue, vbTrue,%) vbTrue> </ td>

 

Outras funções podem oferecer outro tipo de formatação para as células do Excel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa muito obrigado mesmo, era isso mesmo que eu estava precisando,

 

Grande Abraço

 

 

 

 

 

 

olha este exemplo, pode te ajudar

 

O primeiro passo é modificar o tipo de MIME no cabeçalho, de modo que o navegador sabe que este é um arquivo do Excel, e não uma página HTML:

 

<% 
  Response.ContentType = "application/vnd.ms-excel"
%>

 

Observação: este tem de estar no topo da página, antes de mais nada.

 

Uma vez que você fez que é simplesmente um caso de leitura através dos campos no banco de dados e imprimi-los a uma tabela em HTML padrão:

 

<% set objconn=server.createobject("adodb.connection")
connpath="DBQ=" & server.mappath("my_access_database.mdb")
objconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & connpath
set objrs=objconn.execute("select * from products")
%>
 <TABLE BORDER=1>
<TR>
<% 

  '  Loop through each Field, printing out the Field Names


For i = 0 to objrs.fields.count - 1 
%>
<TD><% = objrs(i).name %></TD>
<% next %>
 </TR>
<% 

  '  Loop through rows, displaying each field

while not objrs.eof
%>
  <TR>
<% For i = 0 to objrs.fields.count - 1
%>
<TD VALIGN=TOP><% = objrs(i) %></TD>
<% Next %>

</TR>
<%
objrs.MoveNext

wend

objrs.Close
objconn.close
%>

 

Você pode até mesmo incluir função do Excel simples, como SUM - basta colocar o mesmo texto em um campo da tabela como você faria no campo de Excel - como em:

 

<tr><TD>=SUM(B2:B6)</TD></tr>

 

Isso mostra em um campo da tabela o total de linhas B2 a B6 no Excel. Para conseguir isto, você precisa saber o nome e a letra dos campos que serão exibidos.

 

Zeros à esquerda

 

 

Você pode manter zeros à esquerda em uma caixa, colocando um non-breaking carácter de espaço () na frente do número. Como em:

 

<%= objrs(i) %>

 

Moeda e outros formatos

 

Formatação de moeda pode ser definido em uma célula do Excel anterior aos valores com o símbolo de moeda. Por exemplo, precedem o valor com um sinal de real.

 

<TD> R$% <% = ObjRS (i)> </ td>

 

Mais formatação moeda está disponível com a função FormatCurrency. FormatCurrency tem vários parâmetros que são opcionais.

 

FormatCurrency (Expression [, NumDigitsAfterDecimal [, IncludeLeadingDigit [, UseParensForNegativeNumbers [, GroupDigits ]]]])

 

A célula formatada com um cifrão anterior, possuem duas casas decimais, preceda os valores em reais menos do que um com um zero, parênteses lugar em torno de valores negativos, e use vírgulas para milhares grupo.

<td> <% = FormatCurrency (objRS (i), 2, vbTrue, vbTrue,%) vbTrue> </ td>

 

Outras funções podem oferecer outro tipo de formatação para as células do Excel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.