Tag: Excel excel

在php中使用“spreadsheet-reader”阅读date

我正在使用电子表格阅读器来读取一些.xls和.xlsx并将它们转换为.csv 。 这是我的简化代码: require_once(dirname(__FILE__) . '/../ext/spreadsheet-reader/SpreadsheetReader.php'); require_once(dirname(__FILE__) . '/../ext/spreadsheet-reader/php-excel-reader/excel_reader2.php'); $pCsvPath = Config::$generatedCSVPath . "/" . str_replace(array(".xlsx", ".xls"), ".csv", $pFileName); $csv = fopen($pCsvPath, "w"); $pReader = new SpreadsheetReader($pFilePath); // Read only the first sheet $pSheets = $pReader -> Sheets(); $pReader -> ChangeSheet(0); foreach ($pReader as $row) { fputcsv($csv, $row); } 一切正常,但我遇到了date的问题。 使用以下格式的.xls / .xlsx文件中有一列2015-02-10将它们写入.csv ,此列的输出为2015201520152015-FebFeb-TueTue 。 […]

如何将RAR,CSV,DOC,DOCX,XLS和XLSXfile upload到Symfony2应用程序

我用这样的属性file创build了一个实体 : use Symfony\Component\HttpFoundation\File\File; use Symfony\Component\Validator\Constraints as Assert; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity() */ class Archivo { /** * @var File * * @Assert\File( * maxSize = "6M", * mimeTypes = {"application/pdf", "application/x-pdf", * "application/x-rar-compressed","application/octet-stream", "application/zip"}, * maxSizeMessage = "Symfony: File too big!", * mimeTypesMessage = "Symfony: Invalid file type!" * ) */ […]

将csv文件数据导入数据库

我必须写一个代码,我需要导入人的电子邮件ID与他们的名字将在Excel表到数据库中,但是面临的问题是它显示我无效的文件,其中作为文件的.csv格式请帮助,对这个概念是新的,如果我在某个地方出错了,请原谅我。 import.php <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data"> <input type="file" name="sel_file" size="20" /><br /> <input type="submit" name="submit" value="Submit" /> </form> <?php include ("connection.php"); if(isset($_POST["submit"])) { $fname = $_FILES['sel_file']['tmp_name']; echo'Upload file name is'.$fname.' '; $chk_ext = explode(".",$fname); if(strtolower(end($chk_ext)) == "csv"){ $filename = $_FILES['sel_file'] ['tmp_name']; $handle = fopen($filename, "r"); while(($data = fgetcsv($handle, 1000, ",")) !== false) […]

Eclipse无法在debugging模式下重试PHPEXcel类

我在那里我正面临着一个相当恼人的问题…当我在Eclipse中使用Xdebug,它显然要求require_once语句中的绝对path。 我可以手动更改我自己的文件path,但PHPExcel Framework有一个只使用亲属path的自动加载器。 我不知道如何摆脱这个…你有想法吗? 在Eclipse中是否有任何设置来避免此错误?

使用PHPEXCEL lib将XLS转换为CSV,但不将空白行传输到CSV文件

以下代码将XLS文件的每一页转换为CSV文件。 但是我找不到一种方法来阻止它将XLS中的空白行包含到CSV中。 请帮帮我。 function convertXLStoCSV($infile, $outfile) // the function that converts the file { $fileType = PHPExcel_IOFactory::identify($infile); $objReader = PHPExcel_IOFactory::createReader($fileType); $objReader->setReadDataOnly(true); $objPHPExcel = $objReader->load($infile); $writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV'); $writer->setDelimiter(","); $writer->setEnclosure(""); foreach ($objPHPExcel->getWorksheetIterator() as $workSheetIndex => $worksheet) { $objPHPExcel->setActiveSheetIndex($workSheetIndex); $writer->setSheetIndex($workSheetIndex); $writer->save('converted/' . $outfile ."_" . $worksheet->getTitle() . ".csv"); echo $outfile; echo $infile; } }

fopen()返回意外的数组与Mac Excel生成的csv

我遇到了一个有趣的问题。 我用Excel创build了一个CSV文件,并尝试使用fopen()和fgetcsv()将文件读入PHP。 出乎意料的是,我的代码返回的数组让我觉得这个文件有一行76字段与5行16(我知道,math是不正确的……稍后解释)。 TextEdit将这个理论消解为每行都用新行来呈现文件。 当我删除TextEdit中的新行,然后为每行重新input换行符时,csv被正确读取。 在删除新行之前,我使用显示隐藏字符function在NetBeans中打开了该文件,netbeans似乎认为它是一个段落。 看来fopen()没有。 我看到一个类似的问题,从PHP str_getcsv数组问题 ,我用第一个例子中提供的代码无济于事。 这看起来像Excel提供了一个新的行字符,大多数其他事情认识到一个新的行,但fopen()不。 这是我的代码和csv文件,以防人们感兴趣。 $data= array(); $handle = fopen(Yii::app()->basePath ."/csv/test.csv", "rb"); while ( !feof($handle) ) { $data[] = fgetcsv($handle); } echo "<pre>"; die(var_dump($data)); fclose($handle); 这是csv文件: id,first_name,last_name,address_1,address2,city,state,postal,image_path1,image_path2,image_path3,image_path4,image_path5,text_area,template_name,order_date id,first_name,last_name,address_1,address2,city,state,postal,image_path1,image_path2,image_path3,image_path4,image_path5,text_area,template_name,order_date id,first_name,last_name,address_1,address2,city,state,postal,image_path1,image_path2,image_path3,image_path4,image_path5,text_area,template_name,order_date best ever!,,,704 west jefferson,,winterset,ia,50273,,,,,,,dummy, hello!!,,,Welcome,,,,,,,,,,,, 这是一个链接到Excel表格的屏幕截图: http : //grab.by/r9sg 另外,我刚刚注意到每一行的最后一个字段都有一个新的行,也就是说,第一行结尾的数组值应该是order\nid (我认为…它至less有\ nstring…)。 这似乎很奇怪…我会提供从var_dump …中看到的数组: array(1) { [0] => array(76) […]

不能包含电子表格Excel作家

我有一个梨包电子表格Excel作家的问题。 我想从PHP生成excle文件,并在互联网上find这个软件包。 我从官方网页复制了smaple代码,但是它不起作用。 当然,我的服务器上安装了梨(Deb7,apache2,php5)。 我试图find应用程序不工作的地方,发现它不包含文件。 include_once 'Spreadsheet/Excel/Writer.php' 我通过命令安装了软件包: pear install -f OLE pear install -f Spreadsheet_Excel_Writer 我不知道为什么这个软件包不包括在内。 我尝试包括其他包,它叉罚款。 我检查了该软件包中的文件,并认识到电子表格/ Excel / Writer / Worksheet.php可能会导致问题(我包括每个文件包,只有这个不能包括在内)。 请帮助我,也许你现在以其他方式从PHP生成Excel。

将csv转换为excel与laravel中的PHPExcel?

我find了这个答案, PHP将CSV转换为XLS – phpExcel错误 但我已经在Laravel 4中尝试过了,我无法得到它的工作,任何帮助将不胜感激。 我的代码 public function CsvExcelConverter($filename){ $objReader = Excel::createReader('CSV'); $objReader->setDelimiter(";"); $objPHPExcel = $objReader->load('uploads/'.$filename); $objWriter = Excel::createWriter($objPHPExcel, 'Excel5'); //new file $new_filename = explode('.',$filename); $new_name = $new_filename[1]; $objWriter->save($new_name.'.xls'); return $new_name.'.xls'; }

PHP – 将Unicode转换为CSV,例如中文字符

通过表单发布,我们将数据传递给PHP脚本,为电子表格程序(例如excel)创build可下载的CSV。 如果没有特殊的字符通过,下面的scipt工作完美。 但是通过像中文字母这样的特殊字符结束于unicode …. 例如:我们通过表单字段发送“你好世界”(hello world,unicode:&#22390;&#199;&#19990;&#30028;)到这个php脚本export.php <?php //opens a download dialog, download by excel header("Content-type: text/csv; charset=UTF-8"); header("Content-Disposition: attachment; filename=\"eCalc Results.csv\""); echo html_entity_decode(urldecode($_POST["exportData"])); // returns unicode 你好世界 ?> 我们如何才能将这个Unicode的Unicode转换成中文字母再次正确地显示为你好世界…? 这里的例子: http : //s4a.ch/exporttest/hello.php 我们search了整个stackoverflow,但没有转换成功… 感谢您的帮助eCalc

PhpExcel Wrap文本问题

我在将.xlsx文件转换为.csv时遇到问题。 当我尝试转换它时,csv文件出现与文本包装激活。 问题是,我需要将csv文件导入数据库,目前的格式不允许我这样做。 我有问题,如何在保存csv文件时禁用文本换行,或者在将文件导入数据库时​​忽略文本换行? 兑换: require_once 'Classes/PHPExcel.php'; // (this should include the autoloader) require_once 'Classes/PHPExcel/IOFactory.php'; $excel_readers = array( 'Excel5' , 'Excel2003XML' , 'Excel2007' ); $reader = PHPExcel_IOFactory::createReader('Excel2007'); $reader->setReadDataOnly(true); $path = 'temp.xlsx'; $excel = $reader->load($path); $writer = PHPExcel_IOFactory::createWriter($excel, 'CSV'); $writer->setDelimiter(','); $writer->save('temp.csv'); 导入数据库: if (file_exists('temp.csv')) { $i=0; require "connection.php"; $handle = fopen("temp.csv", "r"); $import=$db->prepare("INSERT INTO adherence( dateandtime, […]