我正在使用phpexcel库将我的报告导出到excel文件。 但我想拥有自己的excel文件并将其与phpexcel一起使用。 这是我使用的代码:
public function event_reportexcel($id)
{
$this->load->library('excel');
$this->excel->setActiveSheetIndex(0);
$this->excel->getActiveSheet()->setTitle('test worksheet');
$this->excel->getActiveSheet()->setCellValue('A1', 'This is just some text value');
$this->excel->getActiveSheet()->getStyle('A1')->getFont()->setSize(20);
$this->excel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
$this->excel->getActiveSheet()->mergeCells('A1:D1');
$this->excel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$filename='just_some_random_name.xls'; //save our workbook as this file name
header('Content-Type: application/vnd.ms-excel'); //mime type
header('Content-Disposition: attachment;filename="'.$filename.'"'); //tell browser what's the file name
header('Cache-Control: max-age=0'); //no cache
$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
//force user to download the Excel file without writing it to server's HD
$objWriter->save('php://output');
}
它会将我的数据放在一个新的excel文件中,但是我需要这个函数才能使用excel文件作为模板。
答案 0 :(得分:3)
您可以根据需要打开文件并进行编辑,然后保存
$fileType = 'Excel5';
$fileName = 'testFile.xls';
// Read the file
$objReader = PHPExcel_IOFactory::createReader($fileType);
$objPHPExcel = $objReader->load($fileName);
// Change the file
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B1', 'World!');
// Write the file
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType);
$objWriter->save($fileName);
您可以查看此post了解详情。
答案 1 :(得分:0)
这会帮助你
public function export(){
$this->load->model('authors_model');
$this->load->library('excel');
$object = new PHPExcel();
$object->setActiveSheetIndex(0);
$table_columns = array('ID','first_name','last_name','Email','BirthDate','Added');
$column = 1;
foreach ($table_columns as $dd) {
$object->getActiveSheet()->setCellValueByColumnAndRow($column,1, $dd);
$column++;
}
$employee_data = $this->authors_model->get_all_data();
$row_no = 2 ;
foreach ($employee_data as $value) {
$object->getActiveSheet()->setCellValueByColumnAndRow(0 ,$row_no,$value->id );
$object->getActiveSheet()->setCellValueByColumnAndRow(1 ,$row_no,$value->first_name );
$object->getActiveSheet()->setCellValueByColumnAndRow(2 ,$row_no,$value->last_name );
$object->getActiveSheet()->setCellValueByColumnAndRow(3 ,$row_no,$value->email );
$object->getActiveSheet()->setCellValueByColumnAndRow(4 ,$row_no,$value->birthdate );
$object->getActiveSheet()->setCellValueByColumnAndRow(5 ,$row_no,$value->added );
$row_no++;
}
ob_end_clean();
header('Content-Type: application/vnd.ms-excel'); //mime type
header("Content-Disposition: attachment; filename=\"filename.xls\"");
header("Cache-Control: max-age=0");
$objWriter = PHPExcel_IOFactory::createWriter($object, 'Excel5');
$objWriter->save('php://output');
}