标签: phpexcel

我的第一个单元格数据中的零将在 PHPExcel 中删除

我正在尝试使用 PHPExcel 将数据导出到 Excel,我有一个列,该列上的许多数据都以0例如0054672351或开头057524572

现在,当我尝试导出到 Excel 时,我的数据将更改为5467235157524572

我正在尝试将此列的数据格式更改为文本,但我还遇到这个问题!

我应该怎么办 ?

php phpexcel

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

使用 PHPEXCEL 在工作表中添加注释

我正在尝试使用此代码在 Excel 单元格中添加注释:

$objPHPExcel
    ->getActiveSheet()
    ->getComment(($arr_periodes[2] + 1), 17 + ($arr_periodes[1]))
    ->setAuthor($user->prenom . ' ' . $user->nom);
$objCommentRichText = $objPHPExcel
    ->getActiveSheet()
    ->getComment(($arr_periodes[2] + 1), 17 + ($arr_periodes[1]))
    ->getText()
    ->createTextRun($res->commentaire);
$objCommentRichText->getFont()->setBold(true);
$objPHPExcel
    ->getActiveSheet()
    ->getComment(($arr_periodes[2] + 1), 17 + ($arr_periodes[1]))
    ->getText()
    ->createTextRun("\r\n");
$objPHPExcel
    ->getActiveSheet()
    ->getComment(($arr_periodes[2] + 1), 17 + ($arr_periodes[1]))
    ->getText()
    ->createTextRun($res->commentaire);
Run Code Online (Sandbox Code Playgroud)

它打开文件,但我需要修复它并且注释不显示。

这是我的作家:

$writer = new PHPExcel_Writer_Excel2007($objPHPExcel);
Run Code Online (Sandbox Code Playgroud)

编辑

该代码有效:

$writer = new PHPExcel_Writer_Excel2007($objPHPExcel);
Run Code Online (Sandbox Code Playgroud)

是否可以用变量代替'E11'

我必须使用setCellValueByColumnAndRow,因此5,11

编辑

我的问题仍然存在:

我尝试过这个:

$objPHPExcel->getActiveSheet()
    ->getComment('E11')
    ->getText()
    ->createTextRun($user->commentaire);
Run Code Online (Sandbox Code Playgroud)

($arr_periodes[2]+1)包含在示例中4 …

php phpexcel

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

PHPExcel 查找行中最高的列

我正在尝试读取 Excel 文件中的所有列,但其数量根据行而变化。例如:Row1、col2、col3、col4 Row2、col2、col3 Row3、col2、col3、col4、col5、col6

我正在尝试做类似的事情:

for ($row = 1; $row < 2; $row++){
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,
                                    NULL,
                                    TRUE,
                                    FALSE);
    echo print_r($rowData[0][0]);
    echo "<br>";
    $list_of_coordinates = "";
    $i = 1;
    //echo print_r($rowData[$row][$i+1]);
    while($rowData[0][$i+1] != ""){
      /*$list_of_coordinates = $list_of_coordinates . 
                             "," .
                             $rowData[0][$i+1] . 
                             "," .
                             $rowData[0][$i];
      */
      $i+2;
    }
    $list_of_coordinates = ltrim($list_of_coordinates, ",");
    echo $list_of_coordinates;
    echo "<br>";
  }
Run Code Online (Sandbox Code Playgroud)

但 $highestcolumn 具有最大的列号,在此文件中:BM。但有些行只有 3 或 4 列。可以更新这个号码吗?我的 while 循环现在不工作。

php phpexcel

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

PhpExcel单元格中的新行

我所做的:

  1. 从db查询数据
  2. 分解数据并插入\n
  3. 准备数组
  4. 打开模板
  5. 将数组插入到模板中
  6. 尝试用新行替换 \n

如何找到 \n 并插入新行?例如,我在 A1 中有下一个文本“One\nTwo”。我从 A1 读取文本

$ltr='A1';
$vle=$spreadsheet->getActiveSheet()->getCell($ltr);
Run Code Online (Sandbox Code Playgroud)

在此之后,我尝试在 A1 中再次在 A1 中插入文本并将 \n 替换为一个单元格中的新行

$spreadsheet->getActiveSheet()->getCell($ltr)->setValue("${vle}");
$spreadsheet->getActiveSheet()->getStyle($ltr)->getAlignment()->setWrapText(true);
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。

例如: 在此处输入图片说明

因此,如果我打开带有文本的模板,则无法替换单元格中的 \n。我能做什么?

更新。我尝试使用 char(10) 并插入公式(例如)="hello"&char(10)&"world"但仅插入="hello"&char(10)

php phpexcel phpoffice

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

PHPExcel不释放内存

我有一个脚本可以读取附带 Excel 文件的电子邮件。
我正在使用 PHPExcel 来解析这些文件。

我目前遇到的问题是一封附有五个电子表格的电子邮件。
每次加载第五个文件时,PHP 都会耗尽内存。

最初,我每次完成后都尝试取消 ( $objPHPExcel = NULL;) 和取消设置 ( ) unset($objPHPExcel);PHPExcel 对象。那没有帮助。

然后我尝试将垃圾收集添加到进程 ( gc_enable(); $cycles_collected = gc_collect_cycles();)。那没有帮助。

我将当前的 php 内存使用量打印到我的错误日志中,我可以看到它随着每个 Excel 文件加载到 PHPExcel 中而增长,我还可以看到内存使用量不会随着每个NULL,unsetgc_collect.

以下是 PHP 内存不足之前和之后我的 error_log 的一些示例输出:

[17-Aug-2017 16:04:29 America/Chicago] [Blackouts] Current Memory Usage at beginning of script before loading Excel file: 85575176

[17-Aug-2017 16:04:32 America/Chicago] [Blackouts] Current Memory Usage after loading Excel file: 104474632

[17-Aug-2017 16:04:34 America/Chicago] [Blackouts] Current Memory …
Run Code Online (Sandbox Code Playgroud)

php memory phpexcel

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

PHPOffice/PhpSpreadsheet:重置单元格样式

在文档中

我没有找到任何适合我需要的有用功能。

是否可以“重置”/“删除单个单元格的整个格式”?将单元格恢复到原始状态。

php phpexcel phpspreadsheet

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

如何使用 File Saver 在 Angular 中下载 Excel 文件

我在 PHP 中创建了帖子表单,单击按钮就会下载一个 excel 文件,并且我还有一些表单数据也发布到 URL 和文件,用于使用纯 HTML 成功下载并提交表单

在 PHP 中,这是当表单发布到文件时触发的函数

public function downloadExcel($fileName = '', $addTimeStamp = true) {
    $fileName = (!$fileName) ? 'excel_download' : preg_replace('/\s+/', '_', $fileName);
    if ($addTimeStamp) {
        $fileName .= date('_d_m_Y_H_i_s');
    }
    $fileName .= '.xlsx';
    $this->setActiveSheetIndex(0);
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="' . $fileName . '"');
    header('Cache-Control: max-age=0');
    header('Cache-Control: max-age=1');
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
    header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
    header('Cache-Control: cache, must-revalidate');
    header('Pragma: public');
    $objWriter = PHPExcel_IOFactory::createWriter($this, 'Excel2007'); …
Run Code Online (Sandbox Code Playgroud)

php download phpexcel angular

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

未定义类型'Maatwebsite\Excel\Concerns\ToModel

我使用 Maatwebsite 包在 Laravel 8 中导入 Excel 文件。安装该包并在 app.php 中添加所需的别名和提供程序后,我还执行了以下命令。

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" 
Run Code Online (Sandbox Code Playgroud)

但是,当我使用模型 Mymodel (我拥有的模型)创建导入时,出现以下错误。

未定义 Maatwebsite\Excel\Concerns\ToModel;

进口类

class Importer implements ToModel
{
    public function model(array $row)
    {
        return new Universite([
            //
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

php phpexcel laravel maatwebsite-excel

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

如何集成codeigniter和PHPExcel?

始终在我的浏览器上显示错误消息:

An Error Was Encountered
Non-existent class: IOFactory
Run Code Online (Sandbox Code Playgroud)

所有类PHPExcel,我在库中提取.

这是我的控制器代码

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Report extends CI_Controller 
{
     public function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form','url'));
    }

    public function index()
    {   

        $this->load->library('phpexcel');
        $this->load->library('PHPExcel/IOFactory.php');
        $objPHPexcel = PHPExcel_IOFactory::load('tandaterima.xlsx');
        $objWorksheet = $objPHPexcel->getActiveSheet();
        //Daftar barang (4item)
        $objWorksheet->getCell('B16')->setValue('UTP');
        $objWorksheet->getCell('B17')->setValue('Cross');
        $objWorksheet->getCell('B18')->setValue('');
        $objWorksheet->getCell('B19')->setValue('');
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPexcel, 'Excel5');
        $objWriter->save('write5.xls');
    }
}
Run Code Online (Sandbox Code Playgroud)

请帮我.

codeigniter integrated phpexcel

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

PHPExcel未知字符

我已经按照一些教程看了一些人有同样的问题,但我无法弄清楚如何将这个工作放在我的项目上.

顺便说一句,我正在使用CodeIgniter框架,我的计算机中有Excel 2007.

public function exportExcel(){

    require(APPPATH . 'libraries/toExcel/PHPExcel.php');
    $objPHPExcel = new PHPExcel();

    $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('A1', 'Hello');

    // Rename worksheet
    $objPHPExcel->getActiveSheet()->setTitle('Simple');     

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

    header('Content-Type: application/vnd.ms-excel; charset=utf-8');
    header('Content-Disposition: attachment; filename=01simple.xls');
    header('Cache-Control: max-age=0');

    $objWriter->save('php://output');

    exit;
}
Run Code Online (Sandbox Code Playgroud)

这是我的测试代码.每当我下载该函数生成的文件并尝试打开它时,我得到的是: 在此输入图像描述

当我点击"是"时,我会收到:

在此输入图像描述

php codeigniter phpexcel

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