1

我正在使用 PHPEXCEL 类。

所以我从 mysql 数据库中获取行并在我的 excel 文件中打印这些行,这很好。结果是这样的:

在此处输入图像描述

因此,在上图中,数字顺序实际上是 usuarioxl 表中的 id 列。

我想替换它,因为 de "id" 是不断变化的。我正在考虑计算“id”的最后一个位置,然后进行某种生成数字顺序 1、2、3、4、5、6、7、8 的 while 循环......我该怎么做(替换id 列与我自己的 while 循环与此代码)。

$query = "SELECT id,text,util FROM usuarioxl"; 
$headings = array('#', 'Estos son los asuntos pendientes hasta la fecha','fecha de ingreso'); 
if ($result = mysql_query($query) or die(mysql_error())) { 
    // Create a new PHPExcel object 
    $objPHPExcel = new PHPExcel(); 
    $objPHPExcel->getActiveSheet()->setTitle('Asuntos Pendientes'); 
    $rowNumber = 2; 
    $rowNumber2 = 2; 
    $col = 'A'; 
    foreach($headings as $heading) { 
    $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$heading); 
    $col++; 
    } 
    // Loop through the result set 
    $rowNumber = 3; 
    while ($row = mysql_fetch_row($result)) { 
    $col = 'A'; 
    foreach($row as $cell) { 
    $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$cell); 
    $col++; 
    } 
    $rowNumber++; 
    $rowNumber2++; 
    } 
$styleArray = array(
      'borders' => array(
             'allborders' => array(
                    'style' => PHPExcel_Style_Border::BORDER_THIN,
                    'color' => array('argb' => 'FFB0c4dE'),
             ),


       ),
);

$styleArray2 = array(
             'fill' => array(
                    'type' => PHPExcel_Style_Fill::FILL_SOLID,
                    'color' => array('argb' => 'FFB0c4dE'),
             ),

);

$objPHPExcel->getActiveSheet()->getStyle('A2:F2')->applyFromArray($styleArray);
$objPHPExcel->getActiveSheet()->getStyle('A1:F1')->applyFromArray($styleArray2);
$objPHPExcel->getActiveSheet()->getSheetView()->setZoomScale(80);
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');
$objDrawing->setPath('./images/headerexcel2.png');
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$objDrawing->setCoordinates('A1');
$objDrawing->setOffsetX(30);

    // Freeze pane so that the heading line won't scroll 

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(50);
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(30);
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(50);
$objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(15);
$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&C&16');
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(14); 
$objPHPExcel->getActiveSheet()->freezePane('A2'); 

    // Save as an Excel BIFF (xls) file 



   $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
   header('Content-Type: application/vnd.ms-excel'); 
   header('Content-Disposition: attachment;filename="asuntos-pendientes.xls"'); 
   header('Cache-Control: max-age=0'); 


   $objWriter->save('php://output'); 

   exit(); 
4

1 回答 1

1

我会认为:

$query = "SELECT text, util FROM usuarioxl";

...

$rowNumber = 3; 
$newId = 0;

while ($row = mysql_fetch_row($result)) { 
    $col = 'B'; 

    $objPHPExcel->getActiveSheet()->setCellValue("A$rowNumber", $newId++);

    foreach($row as $cell) { 
        $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber, $cell); 
        $col++; 
    } 

    $rowNumber++; 
    $rowNumber2++; 
} 
于 2013-03-30T11:39:12.640 回答