Tag: PHP的

试图用PHP创buildExcel文档(致命错误)

嗨,大家好我想创build一个简单的Excel文档,以便我可以开始了解如何使用PHP的Excel。 然而,当我运行我的代码,我得到一个致命的错误… Fatal error: Call to undefined method PHPExcel::getActiviteSheet() in /home3/hutch/public_html/Murphy/ExcelTransfer.php on line 6任何知道如何解决这个问题? <?php Include_once 'PHPExcel.php'; $sheet = new PHPExcel(); $activeSheet = $sheet->getActiviteSheet(); $activeSheet->setCellValue('A1','test1'); $activeSheet->setCellValue('B1','test2'); $activeSheet->setCellValue('C1','test3'); $activeSheet->setCellValue('D1','test4'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="report.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_I0Factory::createWriter($sheet, 'Excel2007'); $obWriter->save('php://output'); exit; ?>

在导入Excel文件时更新duulcate条目 – php mysql

我需要检查是否在导入excel文件时在数据库中插入值,如果它已经在数据库中有值,那么它应该得到更新。 以下是数据库中producttab表的值 prdid | prdname 00A | prd1 00B | prd2 00C | prd3 00D | prd4 下面是EXCEL FILE数据 prdid | prdname 00A | prdnew 00B | prd2new 00E | prd8 00H | prd9 所以,如果我上传Excel文件然后, 00A,00B应该在producttab表中得到UPDATE,因为它们已经存在了…但是00E,00H应该得到插入 *下面是我已经试过,价值是越来越插入正确只是更新不是发生,我的意思是IF..ELSE条件是完美的,只有UPDATE是不正确的* if(isset($_POST["Upload"])) { $fileinfo = pathinfo($_FILES["uploadFile"]["name"]); $filetype = $_FILES["uploadFile"]["type"]; $remark = NULL; //Validate File Type if(strtolower(trim($fileinfo["extension"])) != "csv") { […]

将数据导出到Laravel的Excel中

我想在我的项目中将导出数据转换为excel,但是在检查结果后,结果并不像我想要的那样。 在这里我想做一个结果是有一个标题表。 这个代码我的控制器: public function getExport(){ Excel::create('Export data', function($excel) { $excel->sheet('Sheet 1', function($sheet) { $products=DB::table('log_patrols') ->join("cms_companies","cms_companies.id","=","log_patrols.id_cms_companies") ->join("securities","securities.id","=","log_patrols.id_securities") ->select("log_patrols.*","cms_companies.name as nama_companies","securities.name as nama_security") ->get(); foreach($products as $product) { $data[] = array( $product->date_start, $product->date_end, $product->condition_status, $product->nama_security, $product->nama_companies, ); } $sheet->fromArray($data); }); })->export('xls'); } 这是我的问题结果: 它应该是: 我的问题是如何将数字更改为文本我想在表头中。 为了实现我的目标,我必须对代码做些什么改进? 注意 :我使用maatwebsite / excel

PHPEXCEL如何使用特殊字符获取单元格值

当我使用函数getValue()获取单元格值时,如果单元格包含特殊字符,则返回false,是否有解决scheme来获取内容,即使包含非UTF-8字符? 我正在调用getValue()函数之前parsing它们。 我将不胜感激任何forms的帮助。 $objPHPExcel = $objReader->load($filename); $objWorksheet = $objPHPExcel->getActiveSheet(); $i=0; $record = array(); foreach ($objWorksheet->getRowIterator() as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); foreach ($cellIterator as $cell) { $val = $cell->getValue(); // $val returns false or empty string ('') when the cell has special characters like ñ or another one $record[$i][] = $val; } $i++; if($i==$vueltas […]

如何在存储到数据库之前检查Excel表单值的重复值

我从Excel表获取数据并将其存储在数据库中。 它正在成功存储数据。 我已经在数据库中创build了两个表,一个是暂时从excel表单&存储中导入值,另外一个是从临时存储表中获取值,还检查重复logging。 我可以在第二张表插入数据,但请build议我如何检查重复的logging,然后再存储在原始表中。 这是代码: <?php if(isset($_POST["submit"])) { $file = $_FILES['file']['tmp_name']; $handle = fopen($file, "r"); $c = 0; $row = 1; while(($filesop = fgetcsv($handle, 1000, ",")) !== false) { $row++; if($row != 1) { $custid = $filesop[0]; $zone = $filesop[1]; $city = $filesop[2]; $category = $filesop[3]; $focus = $filesop[4]; $customer_type = $filesop[5]; $lead_source = $filesop[6]; […]

生成Excel表格在codeigniter与样式表

我想生成一个Excel表格,我使用PHPReport自由,但不工作

Laravel:如何导入Excel文件到数据库

我想通过Excel文件导入一些数据到数据库。 但是,当上传注意到上传到数据库。 我不确定这里有什么问题,如果有人发现,希望能帮我find答案。 这是我的控制器: public function importExcel() { if(Input::hasFile('import_file')){ $path = Input::file('import_file')->getRealPath(); $data = Excel::load($path, function($reader){})->get()->toArray(); if(!empty($data) && $data->count()){ foreach ($data as $key => $value) { $insert[] = ['title' => $value->title, 'description' => $value->description]; } if(!empty($insert)){ DB::table('items')->insert($insert); // dd('Insert Record successfully.'); } } } return back(); } 这里是刀片视图: <html lang="en"> <head> <title>Import – Export Laravel […]

文件迭代PHPExceldate问题

即时通讯使用PHPExcel将xlsx文件导入到数据库,下面的代码非常适合将$ val作为单元格值,并避免插入colum头文件: $dataArr = array(); foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { $worksheetTitle = $worksheet->getTitle(); $highestRow = $worksheet->getHighestRow(); // eg 10 $highestColumn = $worksheet->getHighestColumn(); // eg 'F' $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); for ($row = 1; $row <= $highestRow; ++ $row) { for ($col = 0; $col < $highestColumnIndex; ++ $col) { $cell = $worksheet->getCellByColumnAndRow($col, $row); $val = $cell->getValue(); […]

大的Excel导入到DB在Symfony中变得非常缓慢

我有一个脚本,导入大量的foreach es的大型Excel文件,经过50次迭代,速度变得难以忍受…我可以改进这个吗? 我试图尽可能使它可读: foreach worksheet (approx 20) { NEW DB ENTRY, PERSIST, FLUSH (account) foreach row (10-100){ NEW DB ENTRY, PERSIST, FLUSH (object) foreach column (approx. 10){ CREATE NEW DB ENTRY, FOREIGN KEY to 'object', PERSIST, FLUSH (weekdates) } foreach column (approx. 50){ CREATE NEW DB ENTRY, FOREIGN KEY to 'object', PERSIST, FLUSH (scheduleEntry) CREATE […]

将Excel列标题设置为PHP中数组的快捷方式

我正在使用一个数组来selectExcel中的列。 现在我需要A到CZ ,但是将来可能需要扩展到更大的一个。 我希望有人比我现在做的更快或更好的方式。 这是我现在正在做的事情: $ColumnArray2 = 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'); $ColumnArray = array(); for($x = 0 ; $x <= 25 ; $x++) { $ColumnArray[] = $ColumnArray2[$x]; } for($x = 0 ; $x <= 4 ; $x++) { for($y = 0 ; $y <= 25 ; $y++) { $ColumnArray[] = $ColumnArray2[$x].$ColumnArray2[$y]; } } 这给了我一个从A到EZ有155个值的数组。 有没有更好的方法来完成这个?