Ir para conteúdo

POWERED BY:

Arquivado

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

Luciano Freire

Popular tabela do excel (.xlt) usando ASP

Recommended Posts

Pessoas,

 

tenho um sistema em ASP onde, seu objetivo final é gerar um arquivo em excel, usando um modelo (.xlt) pré-definido.

 

Na minha máquina roda perfeitamente. Mas, qdo jogo o sistema para o servidor, o sistema não trás resposta alguma, ou seja, o excel não abre planilha nenhuma. A tarefa fica executando e nada é retornado para o sistema.

Nas tarefas do servidor, nota-se q o excel é acionado... mas, nem chega a abrir a janela do excel.

Alguém sabe me dizer o q é isso?

 

Aparentemente, o erro está nessa parte do código:

 

...

 

ASP
Set objAplic = Server.CreateObject("Excel.Application")

 

datahora = Day(Now) & Month(Now) & Year(Now)

 

strArquivo = "SP"& cod &"_"& datahora & ".xls"  '**** NOME DO ARQUIVO GERADO .xls

strPath = Request.ServerVariables("APPL_PHYSICAL_PATH")&"spweb_desen" '**** SERVIDOR

 

objAplic.DisplayAlerts = False

objAplic.Workbooks.Add strPath & "arquivossp.xlt" '**** INDICA O CAMINHO DO ARQUIVO MODELO .xlt

strTempGraf = strPath & "arquivos" & strArquivo

 

Set objRep = objAplic.ActiveSheet

Set objExport = objAplic.ActiveWorkbook

 

...

 

Alguém sabe me dizer alguma coisa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pasta tem permissão de leitura e escrita ?

 

Cuida pro teu processo pendente não derrubar o servidor, você pode prejudicar muitas pessoas deixando o IIS a 100%

 

Aqui no forum eu postei uma maneira bem bacana e simples de fazer isso... mas nao lembro o link, no entando veja se esse modelo roda no seu servidor.

 

Este exemplo está testado e aprovado.

 

<%@ Language=VBScript %>
<%
Dim r, Amount, Tax
Response.Buffer = TRUE
'Response.ContentType = "application/vnd.ms-excel"
'Response.ContentType = "application/msword"
%>
<HTML>
	<BODY>
		<TABLE>
			<TR>
				<TD><B>Nº do pedido</B></TD>
				<TD WIDTH="120" ALIGN="Right"><B>Valor</B></TD>
				<TD WIDTH="120" ALIGN="Right"><B>Imposto</B></TD>
			</TR>
			<% For r= 1 to 20 %>
				<TR>
					<TD><%=r%></TD>
					<% Amount = FormatCurrency(Rnd()*1000,2) %>
					<TD><%=Amount%></TD>
					<% Tax = FormatCurrency(Amount*0.07,2) %>
					<TD><%=Tax%></TD>
				</TR>
			<% Next %>
			<TR>
				<TD> </TD>
			</TR>
			<TR>
				<TD> </TD><TD>=SUM(B2:B21)</TD><TD>=SUM(C2:C21)</TD>
			</TR>
		</TABLE>
	</BODY>
</HTML>

Descomente as linhas abaixo confome a sua necessidade: Word ou Excel

'Response.ContentType = "application/vnd.ms-excel"

'Response.ContentType = "application/msword"

 

Falou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dataset,

 

o problema é justamente nessa linha:

 

objAplic.Workbooks.Add strPath & "arquivos\sp.xlt" 'INDICA O CAMINHO DO ARQUIVO MODELO

 

O q me parece é q no IIS 6, o Workbooks.Add não aceita fazer referência ao modelo do documento.

Testei assim:

 

objAplic.Workbooks.Add

e funcionou, só q perde todas as formas q estão setadas no template (.xlt).

 

Sabe alguma forma de fazer essa referência?

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.