Ir para conteúdo

POWERED BY:

Arquivado

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

nivaldo_js

excel com asp

Recommended Posts

O que voce pretende fazer com essa planilha ???Pegar os valores ???Se form é o seguinte...Voce vai precisar que o servidor tenha excel.------Código Editado....Havia uma coisa errada ------------

Set ObjExcel = Server.CreateObject("Excel.Application")Dim ObjWorkBookDim ObjWorkSheetObjExcel.Visible = FalseObjExcel.DisplayAlerts = FalseObjExcel.UserControl = FalseSet ObjWorkbook = ObjEx.Workbooks..Open("C:\nome_do_arquivo.xls")Set ObjWorkSheet = ObjWorkbook.Sheets.item("NomeDaPlanilha")i = 1While ObjWorkSheet.cells(i,1) <> "" Response.Write ObjWorkSheet.cells(i,1)i = i + 1WendSet ObjWorkbook = nothingSet ObjWorkSheet = NothingSet ObjExcel = Nothing

Eu sei que também para conectar via ODBC mas, nunca fiz isto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Marcelo;1 -O q realmente necessito e pegar os valores das celulas !!2- Set ObjWorkSheet = ObjWorkbook.Sheets.item("nome da plan")cada planilha tem varios plan, tem alguma função para le as plan e colocar em um loop e ir alterando o "nome da plan"ex: do until variavelplaneofSet ObjWorkSheet = ObjWorkbook.Sheets.item("&variavelplan&")loop3 - este exemplo q você passou pra mim, nao da erro, mas no response.write nao mostra nada, ou melhor ele nao entra no loop.Mesmo assim, obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP

[*]<%

 

[*] Set objConn Server.CreateObject("ADODB.Connection")

 

[*] objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="Server.MapPath("plano.xls") &";" & "Extended Properties=""Excel 8.0;HDR=Yes;"";"

 

[*]

 

[*] Set objRS Server.CreateObject("ADODB.Recordset")

 

[*] objRS.ActiveConnection = objConn

 

[*] objRS.CursorType = 3

 

[*] objRS.LockType = 2

 

[*] objRS.Source "Select * from [Plan1$]"

 

[*] objRS.Open

 

[*]%>

 

[*]<%

 

[*] Response.Write("Original Data")

 

[*]' Imprimindo

 

[*]

 

[*] Response.Write("<TABLE border=1><TR>")

 

[*] For X = 0 To objRS.Fields.Count - 1

 

[*]  Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")

 

[*] Next

 

[*] Response.Write("</TR>")

 

[*] objRS.MoveFirst

 

[*]

 

[*] While Not objRS.EOF

 

[*]  Response.Write("<TR>")

 

[*]  For X = 0 To objRS.Fields.Count - 1

 

[*] Response.write("<TD>" & objRS.Fields.Item(X).Value)

 

[*]  Next

 

[*]  objRS.MoveNext

 

[*]  Response.Write("</TR>")

 

[*] Wend

 

[*] Response.Write("</TABLE>")

 

[*]

 

[*] 'Atualizando

 

[*]

 

[*] objRS.MoveFirst

 

[*] objRS.Fields(0).Value "change"

 

[*] objRS.Fields(1).Value "look"

 

[*] objRS.Fields(2).Value "30"

 

[*] objRS.Update

 

[*]

 

[*] 'Imprimindo valores atualizados

 

[*]

 

[*] Response.Write("<br>Data after the update")

 

[*] Response.Write("<TABLE><TR>")

 

[*] For X = 0 To objRS.Fields.Count - 1

 

[*]  Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")

 

[*] Next

 

[*] Response.Write("</TR>")

 

[*] objRS.MoveFirst

 

[*]

 

[*] While Not objRS.EOF

 

[*]  Response.Write("<TR>")

 

[*]  For X = 0 To objRS.Fields.Count - 1

 

[*] Response.write("<TD>" & objRS.Fields.Item(X).Value)

 

[*]  Next

 

[*]  objRS.MoveNext

 

[*]  Response.Write("</TR>")

 

[*] Wend

 

[*] Response.Write("</TABLE>")

 

[*]

 

[*]

 

[*] objRS.Close

 

[*] Set objRS = Nothing

 

[*]

 

[*] objConn.Close

 

[*] Set objConn = Nothing

 

[*]%>

 

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em cima é o método com ODBC...Abrir a planilha com Recordset, como eu havia dito.Quanto a sua pergunta, dá sim.....Mas isto é uma coleção, não haverá necessidade de criar uma variavel..Vou trocar alguns dados do exemplo.

Set ObjExcel = Server.CreateObject("Excel.Application")Dim ObjWorkBookDim ObjWorkSheetObjExcel.Visible = FalseObjExcel.DisplayAlerts = FalseObjExcel.UserControl = FalseSet ObjWorkbook = ObjEx.Workbooks..Open("C:\nome_do_arquivo.xls")For i = 0 To ObjWorkSheet.Sheets.CountSet mySheet = ObjWorkbook.Sheets.item(i)i = 2While ObjWorkSheet.cells(i,1) <> ""Response.Write ObjWorkSheet.cells(i,1)Response.Write ObjWorkSheet.cells(i,2)Response.Write ObjWorkSheet.cells(i,3)Response.Write ObjWorkSheet.cells(i,4)Response.Write ObjWorkSheet.cells(i,5)Response.Write ObjWorkSheet.cells(i,6)i = i + 1WendNextSet ObjWorkbook = nothingSet ObjWorkSheet = NothingSet ObjExcel = Nothing

Só um detalhe, I = Número da Linha...neste exemplo a primeira linha tem que estar preenchida, se não estiver, troque o "i=1", por, "I=" número da linha onde tem o primeiro registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

MArcelosobre a planilha, ela nao tem linha sem preenchimento, mas da erro aquiFor i = 1 To ObjWorkSheet.Sheets.Countobjeto necessario ""Mais um detalhe, mas nao comprendi como pegar os nomes das plans na planilha tal ?Obrigado !

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.