PHP - Envio de Datos por Formulario y descarga de Archivo de PHPExcel

   
Vista:
Imágen de perfil de francisco

Envio de Datos por Formulario y descarga de Archivo de PHPExcel

Publicado por francisco (40 intervenciones) el 10/11/2017 22:56:54
hola espero que esten de lo mejor... vengo hasta ustedes para ver si me pueden ayudar con el siguiente problema... tengo mi formulario que recive datos automaticamente de una tabla de datos segun la linea de la tabla son los datos que se ponen en mi formuladio como si fuera a modificarlos... pero esos datos necesito mandarlos a un archivo phpexcel para que la informacion se coloque en celdas especificas en forma de reporte no una tabla normal dejo mi codigo y espeor me puedan ayudar muchas gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<form class="formDesc" action="archivoDesc.php" method="post">
<input type="text" hidden="" id="idpersona" name="">
<label>Factura:</label>
<input class="form-control" type="text" id="facturaIn" name="facturaIn" placeholder="Numero de Factura">
<label>Fecha Factura: </label>
<input class="form-control" type="date" id="fechaF" placeholder="Fecha de Factura" name="fechaF" >
 
<label>Direccion: </label>
<input class="form-control" type="text" id="direccion" name="direccion"placeholder="Direccion a donde se Dirige">
<label> AWB:</label>
<input class="form-control" type="text" id="AWB" placeholder="Numero de TrackID" name="AWB">
<label>Carrier: </label>
<input class="form-control" type="text" id="carrier" placeholder="Tipo de Carrier" name="carrier">
<label>Orden: </label>
<input class="form-control" type="text" id="orden" placeholder="Num de Orden" name="orden">
<label>Descripcion: </label>
<input class="form-control" type="text" id="descripcion" placeholder="Descripcion del Material" name="descripcion">
<label>#Parte: </label>
<input class="form-control" type="text" id="parte" placeholder="Numnero de Parte" name="parte">
</div>
	<div class="col-xs-12 col-sm-6">
		<label>Cantidad: </label>
		<input class="form-control" type="text" id="cantidad" placeholder="Cantidad" name="cantidad" >
		<label>Precio unit: </label>
		<input class="form-control" type="text" id="precio" placeholder="Precio Unitario" name="precio">
		<label>V. Factura: </label>
		<input class="form-control" type="text" id="vfact" placeholder="Valor de Factura" name="vfact">
		<label>Peso Neto:</label>
		<input class="form-control" type="text" id="peso" placeholder="Peso Neto" name="peso">
 
		<label>Nivel de servicio:
		<select  class="form-control input-sm" id="nivel" name="nivel"
		<option value=""></option>
		<option value="zz">ZZ</option>
		<option value="o6">6</option>
		</select>
		</label>
 
		<label>Destino:
			<select  class="form-control input-sm" id="compaDes" name="compaDes">
				<option value=""></option>
				<option value="PHL">ISH-PHL</option>
				<option value="SFO">ISH-SFO</option>
				<option value="IAD">IAD22</option>
				<option value="SYD">SYD51</option>
				<option value="CMH">CMH52</option>
				<option value="GRU">GRU50</option>
				<option value="YUL">YUL51</option>
			</select>
		</label>
 
		<label>Para:
			<select  class="form-control input-sm" id="aduana" name="aduana">
				<option value=""></option>
				<option value="Fedex">Elizabeth Montiel</option>
				<option value="Adualink">Eduardo de la Peña</option>
			</select>
		</label>
 
		<label>Compañia Transportista :
			<select  class="form-control input-sm" id="compTrans" name="compTrans">
				<option value=""></option>
				<option value="Fedex">Fedex</option>
				<option value="Adualink">Adualink</option>
			</select>
		</label>
 
		<label>Des Español :
			<select  class="form-control input-sm" id="dscrip" name="dscrip">
				<option value=""></option>
				<option value="MEMORIA">UNIDAD DE MEMORIA (DISCO DURO)</option>
				<option value="UNIDAD">UNIDAD DE PROCESAMIENTO DIGITAL</option>
			</select>
		</label>
	</div>
</div>
<div class="modal-footer">
	<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    <button type="submit" class="btn btn-primary" id="descargar" name="descargar" data-dismiss="modal">Aceptar</button>
</form>

mi PHPExcel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// Metodo post para llamar la informacion del formulario
 
$facturaIn=$_POST['facturaIn'];
$fechaF=$_POST['fechaF'];
$direccion=$_POST['direccion'];
$AWB=$_POST['AWB'];
$carrier=$_POST['carrier'];
$orden=$_POST['orden'];
$descripcion=$_POST['descripcion'];
$parte=$_POST['parte'];
$cantidad=$_POST['cantidad'];
$precio=$_POST['precio'];
$vfact=$_POST['vfact'];
$peso=$_POST['peso'];
$nivel=$_POST['nivel'];
$compaDes=$_POST['compaDes'];
$aduana=$_POST['aduana'];
$compTrans=$_POST['compTrans'];
$dscrip=$_POST['dscrip'];
 
// conexion base de datos
 
$servidor="localhost";
$usuario="root";
$password="";
$bd="pruebas";
 
$conexion=mysqli_connect($servidor,$usuario,$password,$bd);
 
// query a la base de datos
$consulta = "SELECT * FROM t_persona";
$resultado = $conexion->query($consulta);
 
// Incluir la libreria PHPExcel
require_once 'Classes/PHPExcel.php';
 
// Crea un nuevo objeto PHPExcel
$objPHPExcel = new PHPExcel();
 
// Establecer propiedades
$objPHPExcel->getProperties()
->setCreator("Francisco Gutierrez")
->setLastModifiedBy("La bodeguita SA")
->setTitle("Cartas de Instruccion")
->setSubject("Cartas de Instruccion")
->setDescription("Cartas para Exportacion de Material Electrinico")
->setKeywords("Excel Office 2007 openxml")
->setCategory("Pruebas de Excel");
 
//titulos del reporte y datos donde va cada informacion
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('F2', 'PROYECTO DIRECT SHIP')
->setCellValue('D3', 'PCE PARAGON SOLUTIONS (MEXICO) S.A. DE C.V.')
->setCellValue('F4', 'Camino al Castillo No.2100 M El Salto, Jalisco 45680')
->setCellValue('A5', 'Datos Agente Aduanal:')
->setCellValue('D5', 'Destino:')
->setCellValue('A6', 'Fecha Factura:')
->setCellValue('A7', 'Para:')
->setCellValue('A8', 'Compania:')
->setCellValue('A9', 'TEL:')
->setCellValue('A10', 'Contacto')
->setCellValue('A11', 'CIA:')
->setCellValue('A12', 'TEL:')
->setCellValue('A15', 'Factura')
->setCellValue('B15', 'Orden')
->setCellValue('D15', 'Descripcion')
->setCellValue('F15', '#Parte')
->setCellValue('G15', 'Des_Espanol')
->setCellValue('I15', 'Cantidad')
->setCellValue('J15', 'Precio_unit')
->setCellValue('K15', 'V. Factura')
->setCellValue('L15', 'Fraccion')
->setCellValue('M15', 'Valor Agregado')
//datos del formulario
->setCellValue('B6',$fechaF['fechaF'])
->setCellValue('E7',$facturaIn['$facturaIn'])
->setCellValue('M6',$direccion=$_POST['direccion'])
->setCellValue('M8',$AWB=$_POST['AWB'])
->setCellValue('A16',$carrier=$_POST['carrier'])
->setCellValue('B16', $descripcion=$_POST['descripcion'])
->setCellValue('D16',$parte=$_POST['parte'])
->setCellValue('F16',$cantidad=$_POST['cantidad'])
->setCellValue('I16',$precio=$_POST['precio'])
->setCellValue('J16',$vfact=$_POST['vfact'])
->setCellValue('K16',$peso=$_POST['peso'])
->setCellValue('L54',$nivel=$_POST['nivel'].'Kg')
->setCellValue('L12',$compaDes=$_POST['compaDes'])
->setCellValue('E6',$aduana=$_POST['aduana'])
->setCellValue('B8',$compTrans=$_POST['compTrans'])
->setCellValue('B7',$dscrip=$_POST['dscrip']);
 
// Renombrar Hoja
$objPHPExcel->getActiveSheet()->setTitle('Facturas');
 
// Establecer la hoja activa, para que cuando se abra el documento se muestre primero.
$objPHPExcel->setActiveSheetIndex(0);
 
// Se modifican los encabezados del HTTP para indicar que se envia un archivo de Excel.
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Factura.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;

tambien intente hacer una consulta con where asiganandole la variable de mi post y la variable de mi consulta ponerla en setCelValue(); pero no me funciono tampoco ... gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Envio de Datos por Formulario y descarga de Archivo de PHPExcel

Publicado por Alejandro (306 intervenciones) el 11/11/2017 15:39:42
Estas haciendo asignacion
->setCellValue('M6',$direccion=$_POST['direccion'])
eso no imprime nada, almacena el contenido de $_POST['direccion'] en la variable $direccion y tomando en cuenta que mas arriba ya tienes las asignaciones basta con escribir la variable
->setCellValue('M6',$direccion)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de francisco

Envio de Datos por Formulario y descarga de Archivo de PHPExcel

Publicado por francisco (40 intervenciones) el 13/11/2017 17:23:17
muchas gracias por tu ayuda pero al momento de la descarga el archivo me dice que la extecion del archivo no funciona, cambie la extencion de .xlsx ha .xls y al momento de abir el archivo salen problemas de vercionamientos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad