标签: phpexcel

使用PHPExcel使用Graph消除读取和写入excel文件

您好我使用 http://phpexcel.codeplex.com读取和写入excel文件.当我阅读它并写新的数据图表时,我在excel文件中有图形.这个例子没有7即07reader.php但更改包含文件从"05featuredemon.php"到"33chartcreate-bar.php",因为我需要图表

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');

date_default_timezone_set('Europe/London');

/** Include PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';


if (!file_exists("33chartcreate-bar.xlsx")) {
exit("Please run 33chartcreate-bar.php first." . EOL);
}

echo date('H:i:s') , " Load from Excel2007 file" , EOL;
$objPHPExcel = PHPExcel_IOFactory::load("05featuredemo.xlsx");

 echo date('H:i:s') , " Write to Excel2007 format" , EOL;
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx',   pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;


// Echo …
Run Code Online (Sandbox Code Playgroud)

php phpexcel

1
推荐指数
1
解决办法
3427
查看次数

Phpexcel文件:创建文件后,字符串数据类型被解析为数字

我正在使用php excel来创建excel文件.我正在从MySQL数据库中获取的php数组值填充我的excel文件.我在第一列中有字符串数据类型.但是在创建excel文件之后,像0987这样的字符串将转换为987并自动对齐到单元格的右侧.我真的不想要这个excel文件的默认功能.我如何解决这个问题.任何提示/解决方案......帮助我......

php phpexcel

1
推荐指数
2
解决办法
8682
查看次数

使用PHPExcel获取单元格类型

嗨,我有这个代码来读取表单excel文件并使用joomla添加到数据库

try 
        {
            $inputFileType = PHPExcel_IOFactory::identify($inputFileName);
            $objReader = PHPExcel_IOFactory::createReader($inputFileType);
            $objReader = PHPExcel_IOFactory::createReader($inputFileType);
            $objPHPExcel = $objReader->load($inputFileName);
        } 
        catch(Exception $e) {
            die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
        }

        $sheet = $objPHPExcel->getSheet(0); 
        $highestRow = $sheet->getHighestRow(); 
        $highestColumn = $sheet->getHighestColumn();

        for($i = 11; $i <= $highestRow; $i++)
        {
$rowData = $sheet->rangeToArray('A' . $i . ':' . $highestColumn . $i,
                                                NULL,
                                                TRUE,
                                                True
                                                );
                $row = $rowData[0];
$valeur1 = $row[8];
}
Run Code Online (Sandbox Code Playgroud)

我打开文件,每行读取一次,每行读取每个单元格

好吧有时候行[8]是一个格式化的数字(100100.5),有时候不像(100,100.5)或其他什么我需要知道细胞类型,如果细胞不是数字就做一些改变.

phpexcel

1
推荐指数
1
解决办法
4504
查看次数

使用php excel阅读器阅读xls日期值

我正在使用PHPExcel读取excel文件中具有类似'Mar-13'的值的日期单元格,但它返回的整数值如'41791'.请问,我需要做些什么来确保日期正确读入?

php excel datetime phpexcel

1
推荐指数
1
解决办法
1433
查看次数

PHP:用换行符处理Excel单元格

我正在构建Excel模板,以从我们的用户那里获取有关产品的数据。问题是某些字段的数量可能会有所不同。

例如,产品可以有1个贡献者或12个贡献者。每个贡献者都有以下字段:

  • 键名
  • 密钥前的名称
  • 角色

我认为在Excel模板中包含12 * 4列不是一个好主意,因为第二天用户可以发送包含13个贡献者的产品。

我决定在一个单元格中包含有关所有贡献者的数据,例如在“贡献者密钥名称”单元中,我将拥有所有产品贡献者的名称,在“贡献者角色”单元中,我将具有所有贡献者的角色,等等。

我想用新的线符号划分贡献者数据。我使用以下数据创建了Excel表:

在此处输入图片说明

问题是,当我在PHP中读取这些单元格的值(例如“贡献者键名称”)时,看不到换行符号。相反,我收到带有奇怪字符的字符串:

在此处输入图片说明

我试着做

explode('\n',$cellValue);
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

我使用PHPExcel库处理表。

我的问题是-如何在Excel中编码换行符号?您建议在Excel单元中使用什么作为分隔符?

UPD:

因此,为了用换行符分隔字符串,应使用“ \ n”作为分隔符。

我认为,字符串中出现了奇怪的符号,因为最初我是在Numbers应用程序中创建表,然后导出为xslx格式。(数字在导出过程中出现换行符问题)

php phpexcel

1
推荐指数
1
解决办法
6615
查看次数

使用phpexcel库删除excel文件中的空列

我正在使用phpexcel库来读取一个excel文件.它的工作效率达到了99%.但有时它也会读取空列.我的代码是

try {
    $inputFileType = PHPExcel_IOFactory::identify($inputFileName);
    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
    $objPHPExcel = $objReader->load($inputFileName);
} catch(Exception $e) {
    die('Error loading file');
}   

$worksheet=$objPHPExcel->getActiveSheet();) {
$worksheetTitle     = $worksheet->getTitle();
$highestRow         = $worksheet->getHighestRow();
$highestColumn      = $worksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$nrColumns = ord($highestColumn) - 64;
Run Code Online (Sandbox Code Playgroud)

有时候,即使excel列中的数据达到"C"为什么,$ highestcolumn也会返回'WVL'.另外我想检查特定列下的所有行是否为空,是否有任何简单的方法来执行它而不是使用for循环迭代所有行.

php phpexcel

1
推荐指数
1
解决办法
6535
查看次数

按列和行在PHPExcel中将Cell作为字符串

我试图读取一个单元格,其中可能有尾随零作为字符串而不是数字(剥离前导零).正如此答案所示,单元格由整数列/行读取,而不是列字符串.

初始代码

    $instReader = $reader->load($this->file);
    $sheet = $instReader->getSheet(0);
Run Code Online (Sandbox Code Playgroud)

我试过修改这个:

$keyCell = $sheet->getCellByColumnAndRow(1,5);
Run Code Online (Sandbox Code Playgroud)

至:

$sheet->setCellValueExplicitByColumnAndRow(1,5, PHPExcel_Cell_DataType::TYPE_STRING);
$keyCell = $sheet->getCellByColumnAndRow(1,5);
Run Code Online (Sandbox Code Playgroud)

前者为$ keyCell而不是01407提供1407

后者给出"s"或""

在调用getCellByColumnAndRow并仅使用列和行的整数值之前,如何将单元格视为字符串.

(顺便说一句,如果这可以针对整个列进行一次,而不是每次针对每个单独的单元格做得更好)

string phpexcel

1
推荐指数
1
解决办法
2万
查看次数

弄清楚如何使用php excel获取行id列id

我试图找到一种方法来获取使用PHP的excel表格的rowid和columnid,类似于 if($date == $row){ your $rowid = 'something}

我见过类似的东西

$row = $objPHPExcel->getActiveSheet()->getRowIterator($searchValue)-

>current();
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
    echo $cell->getValue();
}
Run Code Online (Sandbox Code Playgroud)

但$ searchValue指的是一行,而不是一个实际的搜索词,我需要在工作表中找到当前日期,当前日期是在一个名为date的列上,如果我发现该日期得到rowid/colid,那么我可以写入那行和列,我知道我将永远使用任何给定行的6列,对此有什么想法吗?或者一些指针可能

php phpexcel

1
推荐指数
1
解决办法
4503
查看次数

Phpspreadsheet-以浮点数形式检索的时间单元

我有一个有时间输入的Excel文件。

  Mar 01, 2018  | Thursday  | 8:00 AM | 5:00 PM
  Mar 02, 2018  | Friday    | 8:00 AM | 5:00 PM
Run Code Online (Sandbox Code Playgroud)

但是,当我的代码尝试读取这些单元格时,输出将变为浮点型(例如8:00 AM变为0.33333333333333)。这是我的代码

$date = $sheet->getCell("A".$row)->getValue();
$time_in = $sheet->getCell("C".$row)->getValue();
$time_out = $sheet->getCell("D".$row)->getValue();

echo "date: ".$date.          //Mar 01, 2018
     " time_in: ".$time_in.   //becomes 0.333333333333333
     " time_out: ".$time_out; //becomes 0.708333333333333
Run Code Online (Sandbox Code Playgroud)

如何在不更改phpspreadsheet值的情况下原样输出?我尝试查看phpspreadsheet文档,但未找到解决方案。

php excel phpexcel phpspreadsheet

1
推荐指数
1
解决办法
1300
查看次数

如何在PHPSpreadsheet中对齐单元格值

我正在尝试几天,我不知道为什么它不起作用。我想在中间设置单元格值。我的输出如下:

在此处输入图片说明

我的预期输出如下:

在此处输入图片说明

我想每一列都必须以我为中心,我已经尝试过以下代码:-

$styleArray = [
        'font' => [
            'bold' => true,
        ],
        'alignment' => [
            'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER,
        ],
        'fill' => [
            'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID,
            'startColor' => [
                'argb' => '0070C0',
            ],
            'endColor' => [
                'argb' => '0070C0',
            ],
        ],
    ];
    $spreadsheet->getDefaultStyle()->getFont()->setSize(10);
    }
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有其他属性,例如HORIZONTAL_CENTER,RIGHT,LEFT,JUSTIFY..etc。请帮助我,我该怎么做。

php phpexcel phpspreadsheet

1
推荐指数
2
解决办法
1251
查看次数

标签 统计

phpexcel ×10

php ×8

excel ×2

phpspreadsheet ×2

datetime ×1

string ×1