Ir para conteúdo

POWERED BY:

Arquivado

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

adtv

ASP x Excel

Recommended Posts

Ola Galera beleza,Eu tenho uma base de dados aqui e precisaria gerar uma planilha (excel) com alguns dos dados que eu tenho la so que nao quero ter que digitar tudo d novo ne entao sera que tem algum jeito de fazer isso altomaticamente?Obrigado,adtv.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí vai um código para a criação de um arquivo ".csv" que abre no excel.

<%@ Language=VBScript %> 
<% 
' GenerateXLS Version 1.0 by Brian Kirsten (bkirsten@brainscanstudios.com) 
' 1st modified 11/29/00 
' 2nd modification 10/25/02 
' copyright Ó 2000 Brain Scan Studios, Inc. (http://www.brainscanstudios.com) 
' source distributed under the gnu general public license. 
' let me know if your site is using the code i will put a link up to your page! 

Dim sTable 
Dim sDSN 
Dim sFields 
Dim sName 

sDSN = "<DSN>" 'Nome de seu DSN 
sFields = "<FIELDS>" 'Liste os Campos separados por virgula 
sTable = "<TABLE_NAME>" 'Nome de sua tabela 
sName = "<Name>" 'Nome do arquivo de saida 

Set DB = Server.CreateObject("ADODB.Connection") 
Set RS = Server.CreateObject("ADODB.Recordset") 

DB.Open sDSN 

RS.Open "select "& sFields &" from "& sTable,DB 

Response.ContentType = "application/csv" 
Response.AddHeader "Content-Disposition", "filename="& sName &".csv;" 'mydata.csv;" 
' Escrevendo o nome dos campos no topo 

for i = 0 to RS.Fields.Count-1 
if i = (RS.Fields.Count - 1) then 
Response.Write lcase(RS.Fields(i).Name) 
else 
Response.Write lcase(RS.Fields(i).Name) & "," 
end if 
next 

Response.write vbNewLine 
Response.write vbNewLine 

while not RS.EOF 

for u=0 to RS.Fields.Count - 1 
if u = (RS.Fields.Count - 1) then 
Response.Write RS.Fields(u).Value 
else 
Response.Write RS.Fields(u).Value & "," 
end if 
next 

response.write vbNewLine 

rs.MoveNext 
wend 

Response.write vbNewLine 
Response.write vbNewLine 

Set RS = Nothing 
Set DB = Nothing 

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

como e um banco nao muito grande to usando o access e isso tem que ser automatico nao e pra mim ir la exporta importa a ideia e automatizar tudo ne.Se alguem puder me ajudar obrigado.adtv.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Entao Salgado, esse codigo nao funciono cara tem algo errado.

Vou dar uma corrigida, lá mas já te adianto:

Aqui:

sDSN = "DSN" 'Nome de seu DSN
sFields = "Campos" 'Liste os Campos separados por virgula
sTable = "Tabela" 'Nome de sua tabela
sName = "nome_" 'Nome do arquivo de saida

Esse código cria um arquivo texto com extensão csv, que, normalmente é reconhecido pelo excel,o arquivo quando aberto no notepad tem essa aparência:

Campo1,Campo2

 

Valor1,Valor2

 

 

Valeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara lá vai uma dica.....Cria uma tabela em HTML mesmo e depois simplesmente salve-a no formato "XLS"...Como ?????Segue código que utilizo.....

Function Monta_Arquivo(texto, Extensao) As StringDim ObjFile As ObjectDim SArquivo As StringDim OFile As Object        Set ObjFile = CreateObject("Scripting.FileSystemObject")        SArquivo = OServer.MapPath("Arquivo." & Extensao)        Set OFile = ObjFile.CreateTextFile(SArquivo, True)        OFile.Write texto        OFile.Close        Monta_Arquivo = SArquivo    FechaConexao ConntempEnd Function

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.