本文整理汇总了PHP中PHPExcel_Worksheet_MemoryDrawing::setCoordinates方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPExcel_Worksheet_MemoryDrawing::setCoordinates方法的具体用法?PHP PHPExcel_Worksheet_MemoryDrawing::setCoordinates怎么用?PHP PHPExcel_Worksheet_MemoryDrawing::setCoordinates使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPExcel_Worksheet_MemoryDrawing
的用法示例。
在下文中一共展示了PHPExcel_Worksheet_MemoryDrawing::setCoordinates方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: ExportExcelRecord
function ExportExcelRecord($arrdata, $datatype, $numberRow, $objPHPExcel, $pageObj)
{
global $cCharset, $locale_info;
$col = -1;
$objASIndex = $objPHPExcel->setActiveSheetIndex(0);
$objASheet = $objPHPExcel->getActiveSheet();
$rowDim = $objASIndex->getRowDimension($numberRow + 1);
foreach ($arrdata as $field => $data) {
$col++;
$colLetter = PHPExcel_Cell::stringFromColumnIndex($col);
$colDim = $objASIndex->getColumnDimension($colLetter);
if ($datatype[$field] == "binary") {
if (!$data) {
continue;
}
if (!function_exists("imagecreatefromstring")) {
$objASIndex->setCellValueByColumnAndRow($col, $numberRow + 1, "LONG BINARY DATA - CANNOT BE DISPLAYED");
continue;
}
$error_handler = set_error_handler("empty_error_handler");
$gdImage = imagecreatefromstring($data);
if ($error_handler) {
set_error_handler($error_handler);
}
if ($gdImage) {
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setImageResource($gdImage);
$objDrawing->setCoordinates($colLetter . ($row + 1));
$objDrawing->setWorksheet($objASheet);
$width = $objDrawing->getWidth() * 0.143;
$height = $objDrawing->getHeight() * 0.75;
if ($rowDim->getRowHeight() < $height) {
$rowDim->setRowHeight($height);
}
$colDimSh = $objASheet->getColumnDimension($colLetter);
$colDimSh->setAutoSize(false);
if ($colDim->getWidth() < $width) {
$colDim->setWidth($width);
}
}
} elseif ($datatype[$field] == "file") {
$arr = my_json_decode($row[$field]);
if (count($arr) == 0) {
$data = PHPExcel_Shared_String::ConvertEncoding($data, 'UTF-8', $cCharset);
if ($data == "<img src=\"images/no_image.gif\" />") {
$arr[] = array("name" => "images/no_image.gif");
} else {
if (substr($data, 0, 1) == '=') {
$data = '="' . str_replace('"', '""', $data) . '"';
}
$objASIndex->setCellValueByColumnAndRow($col, $numberRow + 1, $data);
continue;
}
}
$offsetY = 0;
$height = 0;
foreach ($arr as $img) {
if (!file_exists($img["name"]) || !$img["name"]) {
$data = PHPExcel_Shared_String::ConvertEncoding($data, 'UTF-8', $cCharset);
if (substr($data, 0, 1) == '=') {
$data = '="' . str_replace('"', '""', $data) . '"';
}
$objASIndex->setCellValueByColumnAndRow($col, $numberRow + 1, $data);
continue;
}
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setPath($img["name"]);
$objDrawing->setCoordinates($colLetter . ($numberRow + 1));
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$objDrawing->setOffsetY($offsetY);
$width = $objDrawing->getWidth() * 0.143;
$height = $height + $objDrawing->getHeight() * 0.75;
$offsetY = $offsetY + $objDrawing->getHeight();
if ($rowDim->getRowHeight() < $height) {
$rowDim->setRowHeight($height);
}
$colDimSh = $objASheet->getColumnDimension($colLetter);
$colDimSh->setAutoSize(false);
if ($colDim->getWidth() < $width) {
$colDim->setWidth($width);
}
}
} else {
$data = PHPExcel_Shared_String::ConvertEncoding($data, 'UTF-8', $cCharset);
if (substr($data, 0, 1) == '=') {
$data = '="' . str_replace('"', '""', $data) . '"';
}
$objASIndex->setCellValueByColumnAndRow($col, $numberRow + 1, $data);
if ($datatype[$field] == "date") {
$objStyle = $objASIndex->getStyle($colLetter . ($numberRow + 1));
$objNumFrm = $objStyle->getNumberFormat();
$objNumFrm->setFormatCode($locale_info["LOCALE_SSHORTDATE"] . " hh:mm:ss");
}
}
}
}
示例2: strtoupper
function export_xls_fin()
{
//get submit parameters
$col_name = $this->input->get_post("ckod");
$cou_id = $this->input->get_post("kursus");
$current_sem = $this->input->get_post("semtr");
$current_year = $this->input->get_post("tahun");
$status_stu = $this->input->get_post("stts");
//get values
$list_fin = $this->m_report->get_fin_detail($col_name, $cou_id, $current_sem, $current_year, $status_stu);
//for debug purpose only, safe to delete
/*echo"<pre>";
print_r($list_fin);
echo"</pre>";
die();*/
//load our new PHPExcel library
$this->load->library('excel');
//activate worksheet number 1
$this->excel->setActiveSheetIndex(0);
if ("" == $col_name && "" == $cou_id) {
//name the worksheet
$this->excel->getActiveSheet()->setTitle("Semua KV dan Kursus");
$filename = 'FIN_Semua_Semester_' . $list_fin[0]->stu_current_sem . '.xlsx';
//save our workbook as this file name
} else {
if ("" == $col_name && "" != $cou_id) {
//name the worksheet
$this->excel->getActiveSheet()->setTitle("Semua KV");
$filename = 'FIN_Kolej_Semester_' . $list_fin[0]->stu_current_sem . '.xlsx';
//save our workbook as this file name
} else {
if ("" != $col_name && "" == $cou_id) {
//name the worksheet
$this->excel->getActiveSheet()->setTitle("Semua Kursus");
$filename = 'FIN_Kursus_Semester_' . $list_fin[0]->stu_current_sem . '.xlsx';
//save our workbook as this file name
} else {
//name the worksheet
$this->excel->getActiveSheet()->setTitle($list_fin[0]->col_name . ' - ' . $list_fin[0]->cou_name);
$filename = 'FIN_Semester_' . $list_fin[0]->stu_current_sem . '.xlsx';
//save our workbook as this file name
}
}
}
$namakolej = "";
$namakursus = "";
if ($current_sem >= 4) {
//set the informations
$namakolej = $list_fin[0]->col_name;
if ("" != $col_name && "" != $cou_id) {
$namakursus = $list_fin[0]->cou_name;
$this->excel->getActiveSheet()->setCellValue('B3', "KURSUS " . strtoupper($namakursus));
} else {
$this->excel->getActiveSheet()->setCellValue('B3', "SEMUA KURSUS");
}
$this->excel->getActiveSheet()->setCellValue('B2', "FAIL INDUK NAMA {$namakolej}");
$this->excel->getActiveSheet()->setCellValue('B4', "SEMESTER {$current_sem} TAHUN {$current_year}");
$this->excel->getActiveSheet()->mergeCells('B2:I2');
$this->excel->getActiveSheet()->mergeCells('B3:I3');
$this->excel->getActiveSheet()->mergeCells('B4:I4');
} else {
//set the informations
$namakolej = $list_fin[0]->col_name;
if ("" != $col_name && "" != $cou_id) {
$namakursus = $list_fin[0]->cou_name;
$this->excel->getActiveSheet()->setCellValue('B3', "KURSUS " . strtoupper($namakursus));
} else {
$this->excel->getActiveSheet()->setCellValue('B3', "SEMUA KURSUS");
}
$this->excel->getActiveSheet()->setCellValue('B2', "FAIL INDUK NAMA {$namakolej}");
$this->excel->getActiveSheet()->setCellValue('B4', "SEMESTER {$current_sem} TAHUN {$current_year}");
$this->excel->getActiveSheet()->mergeCells('B2:F2');
$this->excel->getActiveSheet()->mergeCells('B3:F3');
$this->excel->getActiveSheet()->mergeCells('B4:F4');
if (file_exists("./uploaded/kvinfo/Logokolej_small.jpg")) {
$gdImage = imagecreatefromjpeg('./uploaded/kvinfo/Logokolej_small.jpg');
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setImageResource($gdImage);
//$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG); // image rendering.
//$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT); // nanti image jadi low quality
$objDrawing->setOffsetX(60);
$objDrawing->setOffsetY(-5);
$objDrawing->setCoordinates('G2');
$objDrawing->setWorksheet($this->excel->getActiveSheet());
}
if (file_exists("./uploaded/kvinfo/Copkolej_medium.png")) {
$copImage = imagecreatefrompng('./uploaded/kvinfo/Copkolej_medium.png');
$transparent = imagecolorallocate($copImage, 0, 0, 0);
// set color transperent utk image
// Make the background transparent
imagecolortransparent($copImage, $transparent);
// kalau xde ni, background jadi hitam..
$copDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$copDrawing->setImageResource($copImage);
$copDrawing->setOffsetX(60);
$copDrawing->setOffsetY(-5);
$copDrawing->setCoordinates('H18');
$copDrawing->setWorksheet($this->excel->getActiveSheet());
}
$this->excel->getActiveSheet()->mergeCellsByColumnAndRow($pColumn1 = 6, $pRow1 = 2, $pColumn2 = 8, $pRow2 = 4);
//.........这里部分代码省略.........
示例3: load
//.........这里部分代码省略.........
$escherWorksheet = $reader->load($this->_drawingData);
// debug Escher stream
//$debug = new Debug_Escher(new PHPExcel_Shared_Escher());
//$debug->load($this->_drawingData);
$spContainerCollection = $escherWorksheet->getDgContainer()->getSpgrContainer()->getSpContainerCollection();
}
// treat OBJ records
foreach ($this->_objs as $n => $obj) {
// skip first shape container which holds the shape group, hence $n + 1
$spContainer = $spContainerCollection[$n + 1];
switch ($obj['type']) {
case 0x8:
// picture
// get index to BSE entry (1-based)
$BSEindex = $spContainer->getOPT(0x104);
$BSECollection = $escherWorkbook->getDggContainer()->getBstoreContainer()->getBSECollection();
$BSE = $BSECollection[$BSEindex - 1];
$blipType = $BSE->getBlipType();
$blip = $BSE->getBlip();
$ih = imagecreatefromstring($blip->getData());
$drawing = new PHPExcel_Worksheet_MemoryDrawing();
$drawing->setImageResource($ih);
switch ($blipType) {
case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG:
$drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_JPEG);
break;
case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG:
$drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG);
$drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_PNG);
break;
}
$drawing->setWorksheet($this->_phpSheet);
$drawing->setCoordinates($spContainer->getStartCoordinates());
break;
default:
// other object type
break;
}
}
}
// add the named ranges (defined names)
foreach ($this->_definedname as $definedName) {
if ($definedName['isBuiltInName']) {
switch ($definedName['name']) {
case pack('C', 0x6):
// print area
// in general, formula looks like this: Foo!$C$7:$J$66,Bar!$A$1:$IV$2
$ranges = explode(',', $definedName['formula']);
// FIXME: what if sheetname contains comma?
foreach ($ranges as $range) {
// $range should look like this one of these
// Foo!$C$7:$J$66
// Bar!$A$1:$IV$2
$explodes = explode('!', $range);
if (count($explodes) == 2) {
if ($docSheet = $this->_phpExcel->getSheetByName($explodes[0])) {
$extractedRange = $explodes[1];
$extractedRange = str_replace('$', '', $extractedRange);
$docSheet->getPageSetup()->setPrintArea($extractedRange);
}
}
}
break;
case pack('C', 0x7):
// print titles (repeating rows)
示例4: getExcel
public function getExcel()
{
//load our new PHPExcel library
$this->load->library('excel');
//activate worksheet number 1
$this->excel->setActiveSheetIndex(0);
//name the worksheet
$this->excel->getActiveSheet()->setTitle('REKAPITULASI KEGIATAN PP P2TL');
//set cell A1 content with some text
$this->excel->getActiveSheet()->setCellValue('B1', 'PT PLN (PERSERO) DISTRIBUSI');
$this->excel->getActiveSheet()->setCellValue('B2', 'JAWA BARAT DAN BANTEN');
$this->excel->getActiveSheet()->setCellValue('B3', 'AREA BEKASI - RAYON BEKASI KOTA');
$this->excel->getActiveSheet()->setCellValue('A4', 'REKAPITULASI KEGIATAN PP P2TL PT .YASA EKPANSIA SEJAHTERA');
$this->excel->getActiveSheet()->setCellValue('A5', 'BULAN JUNI TAHUN 2015');
$this->excel->getActiveSheet()->setCellValue('A8', 'NO. URUT');
// Ukuran Kolom
$this->excel->getActiveSheet()->getColumnDimension('A')->setWidth(4);
// Ukuran Baris
$this->excel->getActiveSheet()->getRowDimension(1)->setRowHeight(-1);
//change the font size
$this->excel->getActiveSheet()->getStyle('B1')->getFont()->setSize(8);
$this->excel->getActiveSheet()->getStyle('B2')->getFont()->setSize(8);
$this->excel->getActiveSheet()->getStyle('B3')->getFont()->setSize(8);
$this->excel->getActiveSheet()->getStyle('A4')->getFont()->setSize(12);
$this->excel->getActiveSheet()->getStyle('A5')->getFont()->setSize(11);
$this->excel->getActiveSheet()->getStyle('A8')->getFont()->setSize(9);
// make the font become bold
$this->excel->getActiveSheet()->getStyle('A4')->getFont()->setBold(true);
$this->excel->getActiveSheet()->getStyle('A5')->getFont()->setBold(true);
//merge cell A1 until D1
$this->excel->getActiveSheet()->mergeCells('B1:E1');
$this->excel->getActiveSheet()->mergeCells('B2:E2');
$this->excel->getActiveSheet()->mergeCells('B3:E3');
$this->excel->getActiveSheet()->mergeCells('A4:P4');
$this->excel->getActiveSheet()->mergeCells('A5:P5');
// Merge Row
$this->excel->getActiveSheet()->mergeCells('A8:A11');
// Inserting Image
$gdImage = imagecreatefromjpeg(base_url() . 'assets/logopln.jpg');
// Add a drawing to the worksheetecho date('H:i:s') . " Add a drawing to the worksheet\n";
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setName('Sample image');
$objDrawing->setDescription('Sample image');
$objDrawing->setImageResource($gdImage);
$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$objDrawing->setWidth(25);
$objDrawing->setHeight(60);
$objDrawing->setCoordinates('A1');
$objDrawing->setWorksheet($this->excel->getActiveSheet());
//set aligment to center for that merged cell (A1 to D1)
$this->excel->getActiveSheet()->getStyle('A4')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$this->excel->getActiveSheet()->getStyle('A5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$this->excel->getActiveSheet()->getStyle('A8')->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
//save it to Excel5 format (excel 2003 .XLS file), change this to 'Excel2007' (and adjust the filename extension, also the header mime type)
//if you want to save it as .XLSX Excel 2007 format
$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');
}
示例5: array
function export_xls_jadual_kedatangan()
{
$abc = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ', 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN', 'BO', 'BP', 'BQ', 'BR', 'BS', 'BT', 'BU', 'BV', 'BW', 'BX', 'BY', 'BZ', 'CA', 'CB', 'CC', 'CD', 'CE', 'CF', 'CG', 'CH', 'CI', 'CJ', 'CK', 'CL', 'CM', 'CN', 'CO', 'CP', 'CQ', 'CR', 'CS', 'CT', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DA', 'DB', 'DC', 'DD', 'DE', 'DF', 'DG', 'DH', 'DI', 'DJ', 'DK', 'DL');
$centreCode = $this->input->get('kodpusat');
$semester = $this->input->get('semester');
$year = $this->input->get('slct_tahun');
$course = $this->input->get('slct_kursus');
$module = $this->input->get('modul');
$status = $this->input->get('statusID');
$cC = explode("-", $centreCode);
$data['student'] = $this->m_result->get_module_taken($cC[0], $semester, $year, $course, $status, $module);
$data['nama_kursus'] = $this->m_result->ambik_nama_kursus($course);
//$data['nama_modul'] = $this->m_result->get_module_jadual_kedatangan($course);
/**FDPO - Safe to be deleted**/
//echo('<pre>');print_r($module);echo('</pre>');
//die();
$index = sizeof($data['student']);
//load our new PHPExcel library
$this->load->library('excel');
//activate worksheet number 1
$this->excel->setActiveSheetIndex(0);
//name the worksheet
$this->excel->getActiveSheet()->setTitle("Jadual Kedatangan Calon");
//$highlightCells = array();
//header
$excel_header = array('BIL', 'NAMA', 'ANGKA GILIRAN', 'TINDAKAN');
//$excel_jadual = array();
//$data['student'] = $this->m_result->get_module_taken($cC[0], $semester,$year,$course,$status,$module);
$filename = 'Jadual Kedatangan Calon_' . $data['nama_kursus']->cou_name . '_' . $module . '.xls';
//save our workbook as this file name
//load the header into position A1
$this->excel->getActiveSheet()->fromArray($excel_header, NULL, 'A10');
// die();
$ttl = 0;
$columnCount = 65;
//masukkkan data disini
$index = 1;
$excel_data = array();
//$j = 0;
if (isset($data['student'])) {
//array_push($r, $index);
$tidakHadir = 1;
$hospital = 2;
foreach ($data['student'] as $p) {
$r = array();
array_push($r, $index);
array_push($r, strval(name_strtoupper($p->stu_name)));
array_push($r, $p->stu_matric_no);
if ($p->na_status == $tidakHadir) {
array_push($r, "T");
} else {
if ($p->na_status == $hospital) {
array_push($r, "H");
} else {
array_push($r, "/");
}
}
array_push($excel_data, $r);
$index++;
}
}
//echo "<pre>";
//print_r($excel_data);
//echo "</pre>";
//die();
//load the data into position C4
$this->excel->getActiveSheet()->fromArray($excel_data, NULL, 'A11');
//set the informations
$this->excel->getActiveSheet()->setCellValue('A2', 'Jadual Kedatangan Calon');
$this->excel->getActiveSheet()->mergeCells('A2:Z2');
$this->excel->getActiveSheet()->setCellValue('A3', 'Kursus : ' . $data['nama_kursus']->cou_name);
$this->excel->getActiveSheet()->mergeCells('A3:Z3');
$this->excel->getActiveSheet()->setCellValue('A4', 'Semester : ' . $semester);
$this->excel->getActiveSheet()->mergeCells('A4:Z4');
$this->excel->getActiveSheet()->setCellValue('A5', 'T = Tidak Hadir');
$this->excel->getActiveSheet()->mergeCells('A5:Z5');
$this->excel->getActiveSheet()->setCellValue('A6', 'H = Hospital');
$this->excel->getActiveSheet()->mergeCells('A6:Z6');
$this->excel->getActiveSheet()->setCellValue('A7', '/ = Hadir');
$this->excel->getActiveSheet()->mergeCells('A7:Z7');
if (file_exists("./uploaded/kvinfo/Logokolej_small.jpg")) {
$gdImage = imagecreatefromjpeg('./uploaded/kvinfo/Logokolej_small.jpg');
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setImageResource($gdImage);
$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
// image rendering.
$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
// nanti image jadi low quality
$objDrawing->setOffsetX(60);
$objDrawing->setOffsetY(-5);
$objDrawing->setCoordinates('C2');
$objDrawing->setWorksheet($this->excel->getActiveSheet());
}
if (file_exists("./uploaded/kvinfo/Copkolej_medium.png")) {
$copImage = imagecreatefrompng('./uploaded/kvinfo/Copkolej_medium.png');
$transparent = imagecolorallocate($copImage, 0, 0, 0);
// set color transperent utk image
// Make the background transparent
imagecolortransparent($copImage, $transparent);
// kalau xde ni, background jadi hitam..
//.........这里部分代码省略.........
示例6: imagecreatefromjpeg
//Данные
$row_count = 4;
foreach ($products as &$prod) {
//Изображение
//$imagePath = realpath(dirname(dirname(__FILE__))) . '../files/originals/' . $prod->image->url;
//$imagePath = realpath(dirname(dirname(__FILE__))) . '../files/originals/' . $prod->image->url;
$imagePath = '/home/v/vdmgrup/rostokgroup.ru/public_html/files/originals/' . $prod->image->url;
if (file_exists($imagePath)) {
$logo = new PHPExcel_Worksheet_MemoryDrawing();
$logo->setName($prod->name);
$gdImage = imagecreatefromjpeg($imagePath);
$logo->setImageResource($gdImage);
$logo->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$logo->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$logo->setHeight(50);
$logo->setCoordinates("A" . $row_count);
$logo->setOffsetX(2);
$logo->setOffsetY(5);
$sheet->getRowDimension($row_count)->setRowHeight(45);
$logo->setWorksheet($sheet);
}
//$sheet->setCellValueByColumnAndRow(0, $row_count, $prod->image->url);
$sheet->setCellValueByColumnAndRow(1, $row_count, $prod->name);
$sheet->setCellValueByColumnAndRow(2, $row_count, $prod->summ);
$sheet->getStyle("B" . $row_count)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$sheet->getStyle("B" . $row_count)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$sheet->getStyle("C" . $row_count)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$sheet->getStyle("C" . $row_count)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$row_count++;
}
//Автоматическая ширина столбцов
示例7: imagecreatefromjpeg
$client = oci_fetch_array($clientParse)['CLIENT_NAME'];
$projectDateSql = "SELECT PROJECT_START_DT ||' TO '||PROJECT_END_DT PD FROM PROJECT_SPAN WHERE JOB_NAME = '{$jobName}'";
$projectDateParse = oci_parse($conn, $projectDateSql);
oci_execute($projectDateParse);
$projectDate = oci_fetch_array($projectDateParse)['PD'];
//Set properties, isi teks ini bisa anda lihat
//di file excel yang dihasilkan, klik kanan file tersebut
//dan pilih properties.
$objPHPExcel->getProperties()->setCreator("PT. Weltes Energi Nusantara")->setLastModifiedBy("{$username}")->setTitle("Site Erection Project Report for {$jobName}")->setSubject("Site Erection Project Report for {$jobName}")->setDescription("Site Erection Project Report for {$jobName}")->setKeywords("Site Erection Project Report for {$jobName}")->setCategory("Site Erection Project Report");
$gdImage = imagecreatefromjpeg('logo_weltes_resized.jpg');
// Add a drawing to the worksheetecho date('H:i:s') . " Add a drawing to the worksheet\n";
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setName('Sample image');
$objDrawing->setDescription('Sample image');
$objDrawing->setImageResource($gdImage);
$objDrawing->setCoordinates('A1');
$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$objDrawing->setHeight(200);
$objDrawing->setWidth(200);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$styleTitle = array('font' => array('bold' => true, 'underline' => true, 'shrinkToFit' => true, 'size' => 11, 'name' => 'Trebuchet'), 'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER));
$styleDTNow = array('alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT));
$styleArray1 = array('font' => array('bold' => true, 'shrinkToFit' => true, 'size' => 8, 'name' => 'Verdana'));
$styleArray2 = array('font' => array('bold' => true, 'shrinkToFit' => true, 'size' => 8, 'name' => 'Verdana'), 'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER));
$styleArrayRight = array('alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT, 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER));
$styleBorder = array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN)));
$styleBold = array('font' => array('bold' => true, 'shrinkToFit' => true, 'size' => 8, 'name' => 'Verdana'));
$styleTitle = array('font' => array('bold' => true, 'shrinkToFit' => true, 'size' => 14, 'name' => 'Verdana'), 'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER));
$stylefont8 = array('font' => array('size' => 8, 'name' => 'Verdana'));
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A4', "PROJECT");
示例8: arrayToExcel
/**
* 导出excel表格
*
* @param $datas 二维数据
* @param $name excel表格的名称,不包含.xlsx
* 填充表格的数据
* @example $datas['title'] = array('col1','col2','col3','col4');
* $datas['result'] = array(array('v11','v12','v13','v14')
* array('v21','v22','v23','v24'));
* @return 直接浏览器输出excel表格 注意这个函数前不能有任何形式的输出
*
*/
function arrayToExcel($datas, $name = '', $output = 'php://output')
{
resetTimeMemLimit();
if (empty($name)) {
$name = 'export_' . date("Y_m_d_H_i_s");
}
// 便于处理大的大型excel表格,存储在磁盘缓存中
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_discISAM;
PHPExcel_Settings::setCacheStorageMethod($cacheMethod);
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator('icc');
$objPHPExcel->getProperties()->setLastModifiedBy('icc');
$objPHPExcel->getProperties()->setTitle($name);
$objPHPExcel->getProperties()->setSubject($name);
$objPHPExcel->getProperties()->setDescription($name);
$objPHPExcel->setActiveSheetIndex(0);
$total = count($datas['title']);
for ($i = 0; $i < $total; $i++) {
$objPHPExcel->getActiveSheet()->getColumnDimension(excelTitle($i))->setAutoSize(true);
$objPHPExcel->getActiveSheet()->SetCellValue(excelTitle($i) . '1', $datas['title'][$i]);
}
$i = 2;
foreach ($datas['result'] as $data) {
$j = 0;
foreach ($data as $cell) {
// 判断是否为图片,如果是图片,那么绘制图片
if (is_array($cell) && isset($cell['type']) && $cell['type'] == 'image') {
$coordinate = excelTitle($j) . $i;
$cellName = isset($cell['name']) ? $cell['name'] : '';
$cellDesc = isset($cell['desc']) ? $cell['desc'] : '';
$cellType = isset($cell['type']) ? $cell['type'] : '';
$cellUrl = isset($cell['url']) ? $cell['url'] : '';
$cellHeight = isset($cell['height']) ? intval($cell['height']) : 0;
if ($cellType == 'image') {
if ($cellHeight == 0) {
$cellHeight = 20;
}
$image = imagecreatefromstring(file_get_contents($cellUrl));
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setName($cellName);
$objDrawing->setDescription($cellDesc);
$objDrawing->setImageResource($image);
$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$objDrawing->setHeight($cellHeight);
$objDrawing->setCoordinates($coordinate);
// 填充到某个单元格
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$objPHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight($cellHeight);
} else {
$objPHPExcel->getActiveSheet()->setCellValueExplicit($coordinate, $cellName, PHPExcel_Cell_DataType::TYPE_STRING);
}
// 添加链接
$objPHPExcel->getActiveSheet()->getCell($coordinate)->getHyperlink()->setUrl($cellUrl);
$objPHPExcel->getActiveSheet()->getCell($coordinate)->getHyperlink()->setTooltip($cellName . ':' . $cellDesc);
} else {
if (is_array($cell)) {
$objPHPExcel->getActiveSheet()->setCellValueExplicit(excelTitle($j) . $i, json_encode($cell), PHPExcel_Cell_DataType::TYPE_STRING);
} else {
$objPHPExcel->getActiveSheet()->setCellValueExplicit(excelTitle($j) . $i, $cell, PHPExcel_Cell_DataType::TYPE_STRING);
}
}
$j++;
}
$i++;
}
$objPHPExcel->getActiveSheet()->setTitle('Sheet1');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
if ($output === 'php://output') {
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="' . $name . '.xlsx"');
header('Cache-Control: max-age=0');
$objWriter->save($output);
exit;
}
$objWriter->save($output);
return true;
}
示例9: writeDatamatrix
protected function writeDatamatrix(Deposit $deposit, $path = null)
{
if (!$path) {
$path = dirname($this->xlsFile) . '/' . $deposit->getNumber() . '.png';
}
$key = $this->getKey($deposit);
if (!function_exists('getDataMatrix')) {
require_once __DIR__ . '/Barcode.php';
}
$im = getDataMatrix($key);
$objDrawing = new \PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setName('DATAMATRIX');
$objDrawing->setDescription('POST DATAMATRIX');
$objDrawing->setImageResource($im);
$objDrawing->setRenderingFunction(\PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG);
$objDrawing->setMimeType(\PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_PNG);
$objDrawing->setWorksheet($this->objExcel->getActiveSheet());
$objDrawing->setCoordinates('BE18');
$objDrawing->setHeight(140);
$objDrawing->setWidth(140);
$objDrawing->setResizeProportional(100);
return $path;
}
示例10: fn_price_list_print_product_data
function fn_price_list_print_product_data($product, &$worksheet, $row, &$width, $selected_fields, $styles, $options_variants = array())
{
$col = 'A';
foreach ($selected_fields as $field => $active) {
$worksheet->getStyle($col . $row)->applyFromArray($row % 2 == 0 ? $styles['field_simple_odd'] : $styles['field_simple']);
if ($field == 'image') {
$image_data = fn_image_to_display($product['main_pair'], Registry::get('settings.Thumbnails.product_lists_thumbnail_width'), Registry::get('settings.Thumbnails.product_lists_thumbnail_height'));
if (!empty($image_data)) {
$mime_type = fn_get_file_type($image_data['absolute_path']);
$src = $image_data['absolute_path'];
$image_width = $image_data['width'];
$image_height = $image_data['height'];
if ($mime_type == 'image/gif' && function_exists('imagecreatefromgif')) {
$img_res = imagecreatefromgif($src);
} elseif ($mime_type == 'image/jpeg' && function_exists('imagecreatefromjpeg')) {
$img_res = imagecreatefromjpeg($src);
} elseif ($mime_type == 'image/png' && function_exists('imagecreatefrompng')) {
$img_res = imagecreatefrompng($src);
} else {
$img_res = false;
}
if ($img_res) {
if (!isset($width[$col]) || $width[$col] < $image_width) {
$width[$col] = $image_width * IMAGE_WIDTH_PERCENT;
}
$img_descr = $image_data['alt'];
$drawing = new PHPExcel_Worksheet_MemoryDrawing();
$drawing->setName($img_descr);
$drawing->setDescription($img_descr);
$drawing->setImageResource($img_res);
$drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$drawing->setHeight($image_height);
$drawing->setWorksheet($worksheet);
$worksheet->getRowDimension($row)->setRowHeight($image_height * IMAGE_HEIGHT_PERCENT);
$drawing->setCoordinates($col . $row);
}
}
} else {
if ($field == 'price') {
$product[$field] = fn_format_price($product[$field], CART_PRIMARY_CURRENCY, null, false);
}
if (!isset($width[$col]) || $width[$col] < strlen($product[$field])) {
$width[$col] = strlen($product[$field]);
}
if (!empty($options_variants) && $field == 'product') {
$options = array();
foreach ($options_variants as $option_id => $variant_id) {
$option = $product['product_options'][$option_id]['option_name'] . ': ' . $product['product_options'][$option_id]['variants'][$variant_id]['variant_name'];
$options[] = $option;
if ($width[$col] < strlen($option)) {
$width[$col] = strlen($options);
}
}
$options = implode("\n", $options);
$worksheet->setCellValue($col . $row, $product['product'] . "\n" . $options);
} elseif ($field == 'price') {
$worksheet->getCell($col . $row)->setValueExplicit($product[$field], PHPExcel_Cell_DataType::TYPE_STRING);
} else {
$worksheet->setCellValue($col . $row, $product[$field]);
}
}
$col++;
}
return true;
}
示例11: PHPExcel
<?php
require_once '../../../dbinfo.inc.php';
//include file PHPExcel dan konfigurasi database
require_once '../PHPExcel.php';
// Buat object PHPExcel
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("PT. Weltes Energi Nusantara")->setLastModifiedBy("1")->setTitle("Site Erection Project Report for 1")->setSubject("Site Erection Project Report for 1")->setDescription("Site Erection Project Report for 1")->setKeywords("Site Erection Project Report for 1")->setCategory("Site Erection Project Report");
$gdImage = imagecreatefromjpeg('logo_weltes_resized.jpg');
// Add a drawing to the worksheetecho date('H:i:s') . " Add a drawing to the worksheet\n";
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setName('Sample image');
$objDrawing->setDescription('Sample image');
$objDrawing->setImageResource($gdImage);
$objDrawing->setCoordinates('B15');
$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$objDrawing->setHeight(140);
$objDrawing->setWidth(140);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="nettweight' . 1 . '_' . 2 . '.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
示例12: ExportExcelRecord
function ExportExcelRecord($arrdata, $datatype, $row, $objPHPExcel, $pageObj)
{
global $cCharset, $locale_info;
$col = -1;
$objASIndex = $objPHPExcel->setActiveSheetIndex(0);
$objASheet = $objPHPExcel->getActiveSheet();
$rowDim = $objASIndex->getRowDimension($row + 1);
foreach ($arrdata as $field => $data) {
$col++;
$colLetter = PHPExcel_Cell::stringFromColumnIndex($col);
$colDim = $objASIndex->getColumnDimension($colLetter);
if ($datatype[$field] == "binary") {
if (!$data) {
continue;
}
if (!function_exists("imagecreatefromstring")) {
$objASIndex->setCellValueByColumnAndRow($col, $row + 1, "LONG BINARY DATA - CANNOT BE DISPLAYED");
continue;
}
$error_handler = set_error_handler("empty_error_handler");
$gdImage = imagecreatefromstring($data);
if ($error_handler) {
set_error_handler($error_handler);
}
if ($gdImage) {
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setImageResource($gdImage);
$objDrawing->setCoordinates($colLetter . ($row + 1));
$objDrawing->setWorksheet($objASheet);
$width = $objDrawing->getWidth() * 0.143;
$height = $objDrawing->getHeight() * 0.75;
if ($rowDim->getRowHeight() < $height) {
$rowDim->setRowHeight($height);
}
$colDimSh = $objASheet->getColumnDimension($colLetter);
$colDimSh->setAutoSize(false);
if ($colDim->getWidth() < $width) {
$colDim->setWidth($width);
}
}
} elseif ($datatype[$field] == "file") {
if (!file_exists($pageObj->pSet->getUploadFolder($field) . $data) || !$data) {
continue;
}
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setPath($pageObj->pSet->getUploadFolder($field) . $data);
$objDrawing->setCoordinates($colLetter . ($row + 1));
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$width = $objDrawing->getWidth() * 0.143;
$height = $objDrawing->getHeight() * 0.75;
if ($rowDim->getRowHeight() < $height) {
$rowDim->setRowHeight($height);
}
$colDimSh = $objASheet->getColumnDimension($colLetter);
$colDimSh->setAutoSize(false);
if ($colDim->getWidth() < $width) {
$colDim->setWidth($width);
}
} else {
$data = PHPExcel_Shared_String::ConvertEncoding($data, 'UTF-8', $cCharset);
$objASIndex->setCellValueByColumnAndRow($col, $row + 1, $data);
if ($datatype[$field] == "date") {
$objStyle = $objASIndex->getStyle($colLetter . ($row + 1));
$objNumFrm = $objStyle->getNumberFormat();
$objNumFrm->setFormatCode($locale_info["LOCALE_SSHORTDATE"] . " hh:mm:ss");
}
}
}
}
示例13: writeImageOnExcel
public function writeImageOnExcel($objPHPExcel, $img_url, $coordinates)
{
$gdImage = $this->createImageFromFile($img_url);
$objDrawing = new \PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setImageResource($gdImage);
$objDrawing->setRenderingFunction(\PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$objDrawing->setMimeType(\PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$objDrawing->setHeight(350);
$objDrawing->setCoordinates($coordinates);
return $objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
}
示例14: foo
function foo($products)
{
// Подключаем класс для работы с excel
require_once '../Classes/PHPExcel.php';
// Подключаем класс для вывода данных в формате excel
require_once '../Classes/PHPExcel/Writer/Excel5.php';
// Создаем объект класса PHPExcel
$xls = new PHPExcel();
// Устанавливаем индекс активного листа
$xls->setActiveSheetIndex(0);
// Получаем активный лист
$sheet = $xls->getActiveSheet();
// Подписываем лист
$sheet->setTitle('Таблица умножения');
//Стиль для заголовков
$styleHeaders = array('font' => array('bold' => true, 'size' => 14));
//Тестовый json
//$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
//$test_array = json_decode($json);
//Тестовый массив
//$test_array = array("a" => "orange", "b" => "banana", "c" => "apple");
//Заголовки
$sheet->getColumnDimension('A')->setWidth(10);
//Центруем текст по горизонтали
$sheet->getStyle("A1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$sheet->getStyle("B1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$sheet->getStyle("C1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//Задаем стили
$sheet->getStyle("A1")->applyFromArray($styleHeaders);
$sheet->getStyle("B1")->applyFromArray($styleHeaders);
$sheet->getStyle("C1")->applyFromArray($styleHeaders);
//Задаем высоту верхней строки
$sheet->getRowDimension(1)->setRowHeight(50);
//Заносим значения
$sheet->setCellValueByColumnAndRow(0, 1, 'Фото');
$sheet->setCellValueByColumnAndRow(1, 1, 'Наименование');
$sheet->setCellValueByColumnAndRow(2, 1, 'Кол-во (шт.)');
//Данные
$row_count = 2;
foreach ($products as &$prod) {
//Изображение
$imagePath = realpath(dirname(dirname(__FILE__))) . '/files/originals/' . $prod->image->url;
if (file_exists($imagePath)) {
$logo = new PHPExcel_Worksheet_MemoryDrawing();
$logo->setName($prod->name);
$gdImage = imagecreatefromjpeg($imagePath);
$logo->setImageResource($gdImage);
$logo->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$logo->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$logo->setHeight(50);
$logo->setCoordinates("A" . $row_count);
$logo->setOffsetX(2);
$logo->setOffsetY(5);
$sheet->getRowDimension($row_count)->setRowHeight(45);
$logo->setWorksheet($sheet);
}
//$sheet->setCellValueByColumnAndRow(0, $row_count, $prod->image->url);
$sheet->setCellValueByColumnAndRow(1, $row_count, $prod->name);
$sheet->setCellValueByColumnAndRow(2, $row_count, $prod->summ);
$sheet->getStyle("B" . $row_count)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$sheet->getStyle("B" . $row_count)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$sheet->getStyle("C" . $row_count)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$sheet->getStyle("C" . $row_count)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$row_count++;
}
//Автоматическая ширина столбцов
foreach (range('B', 'D') as $columnID) {
$sheet->getColumnDimension($columnID)->setAutoSize(true);
}
//$row_count=1;
//foreach($test_array as $key => $value){
//$sheet->setCellValueByColumnAndRow(0, $row_count, $key);
//$sheet->setCellValueByColumnAndRow(1, $row_count, $value);
//$row_count++;
//}
// Выводим HTTP-заголовки
header("Expires: Mon, 1 Apr 1974 05:00:00 GMT");
header("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=matrix.xls");
// Выводим содержимое файла
$objWriter = new PHPExcel_Writer_Excel5($xls);
$objWriter->save('php://output');
return $retval;
}
示例15: load
//.........这里部分代码省略.........
// calculate offsetX and offsetY of the shape
$offsetX = $startOffsetX * PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, $startColumn) / 1024;
$offsetY = $startOffsetY * PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $startRow) / 256;
switch ($obj['type']) {
case 0x8:
// picture
// get index to BSE entry (1-based)
$BSEindex = $spContainer->getOPT(0x104);
$BSECollection = $escherWorkbook->getDggContainer()->getBstoreContainer()->getBSECollection();
$BSE = $BSECollection[$BSEindex - 1];
$blipType = $BSE->getBlipType();
// need check because some blip types are not supported by Escher reader such as EMF
if ($blip = $BSE->getBlip()) {
$ih = imagecreatefromstring($blip->getData());
$drawing = new PHPExcel_Worksheet_MemoryDrawing();
$drawing->setImageResource($ih);
// width, height, offsetX, offsetY
$drawing->setResizeProportional(false);
$drawing->setWidth($width);
$drawing->setHeight($height);
$drawing->setOffsetX($offsetX);
$drawing->setOffsetY($offsetY);
switch ($blipType) {
case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG:
$drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_JPEG);
break;
case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG:
$drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG);
$drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_PNG);
break;
}
$drawing->setWorksheet($this->_phpSheet);
$drawing->setCoordinates($spContainer->getStartCoordinates());
}
break;
default:
// other object type
break;
}
}
// treat SHAREDFMLA records
if ($this->_version == self::XLS_BIFF8) {
foreach ($this->_sharedFormulaParts as $cell => $baseCell) {
$formula = $this->_getFormulaFromStructure($this->_sharedFormulas[$baseCell], $cell);
$this->_phpSheet->getCell($cell)->setValueExplicit('=' . $formula, PHPExcel_Cell_DataType::TYPE_FORMULA);
}
}
}
// add the named ranges (defined names)
foreach ($this->_definedname as $definedName) {
if ($definedName['isBuiltInName']) {
switch ($definedName['name']) {
case pack('C', 0x6):
// print area
// in general, formula looks like this: Foo!$C$7:$J$66,Bar!$A$1:$IV$2
$ranges = explode(',', $definedName['formula']);
// FIXME: what if sheetname contains comma?
foreach ($ranges as $range) {
// $range should look like this one of these
// Foo!$C$7:$J$66
// Bar!$A$1:$IV$2
$explodes = explode('!', $range);
if (count($explodes) == 2) {
if ($docSheet = $this->_phpExcel->getSheetByName($explodes[0])) {
$extractedRange = $explodes[1];