Ir para conteúdo

Arquivado

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

razs

xlsx to pdf script

Recommended Posts

vc pode gerar ou abrir o arq. xlsx e depois montá-lo no pdf

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas para abrir o ficheiro xlsx tenho de o defenir e estamos a falar de dezenas de ficheiros diferentes :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode fazer um loop nos arquivos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, penso que te referias a algo como isto

<%
dim ExcelFile, SQL, ExcelConnection
ExcelFile = server.mappath("/")&"\testes\example_disable_cutcopypaste.xls"
SQL = "SELECT * FROM A1:FG1000000 FROM [Sheet1$]"
 
 
response.write ExcelFile&"<-------->"&SQL&"<br><br>"
 
 
Set ExcelConnection = Server.createobject("ADODB.Connection")
ExcelConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ExcelFile & ";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";"
SET RS = Server.CreateObject("ADODB.Recordset")
RS.Open SQL, ExcelConnection
 
Response.Write "<table border=""1""><thead><tr>"
FOR EACH Column IN RS.Fields
	Response.Write "<th>" & Column.Name & "</th>"
NEXT
Response.Write "</tr></thead><tbody>"
IF NOT RS.EOF THEN
	WHILE NOT RS.eof
		Response.Write "<tr>"
		FOR EACH Field IN RS.Fields
			Response.Write "<td>" & Field.value & "</td>"
		NEXT
		Response.Write "</tr>"
		RS.movenext
	WEND
END IF
Response.Write "</tbody></table>"
 
RS.close
ExcelConnection.Close
%>

Mas da-me erro:

 

 

C:\inetpub\wwwroot\testes\example_disable_cutcopypaste.xls<-------->SELECT * FROM A1:FG1000000 FROM [sheet1$]

An error occurred on the server when processing the URL. Please contact the system administrator.

If you are the system administrator please click here to find out more about this error.

 

E noutro servidor de testes da:

 

Script error detected at line 12.
Source line: ExcelConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ExcelFile & ";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";"
Description: Erro não especificado

 

A linha 12 é: Set ExcelConnection = Server.createobject("ADODB.Connection")

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se o path esta correto

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique também permissões de leitura e gravação nas pastas e arquivos

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc esta testando no server ou localhost. E dá uma olhada no fórum que postei alguns exemplos. Pode te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele diz-me que o erro é daqui:

 

SQL = "SELECT * FROM A1:FG1000000 FROM [Folha1$]"

 

 

ele detecta quando tenta abrir a coneccao

 

Source line: RS.Open SQL, ExcelConnection
Description: Syntax error in FROM clause.


ja esta, tirei o from folha1 :D

 

 

agora isto aparece tudo desformatado, alguma ideia para ele formatar como esta na folha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, orientei a coisa mas agora quando tento que ele abra o pdf ele escreve o html.

 

tenho assim

<!--#include file="fpdf.asp"-->

<%
dim ExcelFile, SQL, ExcelConnection
ExcelFile = server.mappath("\")&"\testes\example_disable_cutcopypaste.xlsx"

SQL = "SELECT * FROM A1:FG1000000"

Set ExcelConnection = Server.createobject("ADODB.Connection")
ExcelConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ExcelFile & ";Extended Properties=""Excel 12.0 Xml;HDR=Yes;IMEX=1"";"
SET RS = Server.CreateObject("ADODB.Recordset")
RS.Open SQL, ExcelConnection
 
					Response.Write "<table border=""1""><tr>"
	texto = "<html><head></head><body><table border=""1""><tr>"
					FOR EACH Column IN RS.Fields
						Response.Write "<td>" & Column.Name & "</td>"
	texto = texto + "<td>" & Column.Name & "</td>"
					NEXT
					Response.Write "</tr>"
	texto = texto + "</tr>"
					IF NOT RS.EOF THEN
						WHILE NOT RS.eof
							Response.Write "<tr>"
	texto = texto + "<tr>"
							FOR EACH Field IN RS.Fields
								Response.Write "<td>" & Field.value & "</td>"
	texto = texto + "<td>" & Field.value & "</td>"
							NEXT
							Response.Write "</tr>"
	texto = texto + "</tr>"
							RS.movenext
						WEND
					END IF
					Response.Write "</table>"
	texto = texto + "</table></body></html>"
 
RS.close
ExcelConnection.Close

Set pdf=CreateJsObject("FPDF")
pdf.CreatePDF()
pdf.SetPath("fpdf/")
pdf.SetFont "Arial","",16
pdf.Open()
pdf.AddPage()
pdf.Cell 40,10,texto
pdf.Close()
pdf.Output()

%>

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.