Advertisement
GWibisono

php excel multi worksheet

Oct 27th, 2012
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.00 KB | None | 0 0
  1. <?php
  2. error_reporting(1);
  3. $fName='tmp/006data.xlsx';
  4. if($_POST)
  5. {
  6.    
  7.     $aData=$_POST['txt'];
  8.     $sType='2007 XLSX';
  9.     error_reporting(E_ALL);
  10.     date_default_timezone_set('Europe/London');
  11.     require_once 'Classes/PHPExcel.php';
  12.     $objPHPExcel = new PHPExcel();
  13.     $objPHPExcel->getProperties()->setCreator("Nasgor")
  14.      ->setLastModifiedBy("Gunawan")
  15.      ->setTitle("Office  Test Document")
  16.      ->setSubject("Office $sType Test Document")
  17.      ->setDescription("Test document for Office $sType, generated using PHP classes.")
  18.      ->setKeywords("office $sType openxml php")
  19.      ->setCategory("Test result file");
  20.      
  21.    
  22.     $ar=array();
  23.     //tab1
  24.     $ar2=
  25.     array(
  26.         1=>array(
  27.             1=>"A1",2=>"B1",3=>"C1",4=>"D1"),
  28.         3=>array(
  29.             1=>"A3",3=>"C3",4=>"D3",5=>"E3")
  30.     );
  31.     $ar2[4][5]="E4";
  32.     $ar[]=$ar2;
  33.     //tab2
  34.     $ar2=
  35.     array(
  36.         1=>array(
  37.             1=>"A1",2=>"B1",3=>"C1",5=>"E1"),
  38.         3=>array(
  39.             1=>"A3",3=>"C3",4=>"D3",5=>"E3")
  40.     );
  41.     $ar2[6][5]="E6";
  42.     $ar[]=$ar2;
  43.    
  44.     $aName=array('test 1','test 2');
  45.     //=========TAB========
  46.     foreach($ar as $id=>$a1)
  47.     {
  48.         $objWorkSheet = $objPHPExcel->createSheet();
  49.         $objPHPExcel->addSheet($objWorkSheet);
  50.         $objPHPExcel->setActiveSheetIndex($id);
  51.             $sheet = $objPHPExcel->getActiveSheet();
  52.         foreach($a1 as $posY=>$a2)
  53.         {
  54.             foreach($a2 as $posX=>$val)
  55.             {
  56.                 $pos=chr(64+$posX).($posY );
  57.                 $val?$dt=addslashes($val):$dt='';
  58.                 $sheet->setCellValue(  $pos,$dt);
  59.             }
  60.            
  61.         }
  62.        
  63.         $objPHPExcel->getActiveSheet()->setTitle($aName[$id]);
  64.        
  65.     }
  66.  
  67.     $writeAs='Excel2007';
  68.     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $writeAs); 
  69.     $objWriter->save($fName);  
  70.     header('location:?stat=open');
  71.     die();
  72. }
  73.  
  74. if($_GET['stat']=='open')
  75. {
  76.     header('Content-type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') ; 
  77.     header('Content-Disposition: attachment; filename="'.$fName.'"');
  78.     $f=file_get_contents($fName);
  79.     echo $f;
  80.      
  81.     die();
  82. }
  83. ?>
  84. <form method="post"  enctype='multipart/form-data'>
  85. <input name=stat type=submit value='update' />
  86. </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement