Home Backend Development PHP Tutorial How to solve phpexcel error in Linux system

How to solve phpexcel error in Linux system

Mar 08, 2018 pm 01:04 PM
linux php phpexcel

Recently, a tp3.2 project was migrated to the Linux system. Suddenly one day I found that the excel export function that originally ran fine on win server 2008 could not be used on the new system. The error is as follows:

How to solve phpexcel error in Linux system It is said that there is a problem with line 1762. Find the code of this file and take a look:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

/**

     * Get an instance of this class

     *

     * @access  public

     * @param   PHPExcel $workbook  Injected workbook for working with a PHPExcel object,

     *                                  or NULL to create a standalone claculation engine

     * @return PHPExcel_Calculation

     */

    public static function getInstance(PHPExcel $workbook = NULL) {

        if ($workbook !== NULL) {            if (isset(self::$_workbookSets[$workbook->getID()])) {                return self::$_workbookSets[$workbook->getID()];

            }            return new PHPExcel_Calculation($workbook);

        }        if (!isset(self::$_instance) || (self::$_instance === NULL)) {            self::$_instance = new PHPExcel_Calculation();

        }        return self::$_instance;

    }   //  function getInstance()

Copy after login

This function getInstance(PHPExcel $workbook = NULL)
I found that there was an extra PHPExcel when this function was defined. I tried to delete it, upload it, and test it, but the error was reported again:
How to solve phpexcel error in Linux system
This time it was line 1721, and then I found the file at this location again and deleted PHPExcel. This stuff, then continue to upload and test, most of the errors later are like this, just delete the PHPExcel when the function is defined, but the errors come one after another, this is the file that needs to be replaced:
How to solve phpexcel error in Linux system
You need to add a space in this place so that there will be no replacement errors. Okay, continue to upload and test.
How to solve phpexcel error in Linux system
Then this happened... I was heartbroken at the time...
Continue to look for problems Well, output the variables in the test php file for testing.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

PHPExcel\PHPExcel\Calculation\Functions.php  下面这个文件,中有个 **TYPE**函数,将其中的break去掉,上传,ok了/**

     * TYPE

     *

     * Returns a number that identifies the type of a value

     *

     * @param   value       The value you want tested

     * @return  number      N converts values listed in the following table

     *      If value is or refers to N returns

     *      A number            1

     *      Text                2

     *      Logical Value       4

     *      An error value      16

     *      Array or Matrix     64

     */

    public static function TYPE($value = NULL) {

        $value  = self::flattenArrayIndexed($value);        if (is_array($value) && (count($value) > 1)) {            $a = array_keys($value);            $a = array_pop($a);            //  Range of cells is an error

            if (self::isCellValue($a)) {                return 16;            //  Test for Matrix

            } elseif (self::isMatrixValue($a)) {                return 64;

            }

        } elseif(empty($value)) {            //  Empty Cell

            return 1;

        }        $value = self::flattenSingleValue($value);        if (($value === NULL) || (is_float($value)) || (is_int($value))) {                return 1;

        } elseif(is_bool($value)) {                return 4;

        } elseif(is_array($value)) {                return 64;                break;

        } elseif(is_string($value)) {            //  Errors

            if ((strlen($value) > 0) && ($value{0} == '#')) {                return 16;

            }            return 2;

        }        return 0;

    }   //  function TYPE()

Copy after login

This is the complete process. The online system uses centos7, and PHP is also 7. This is probably caused by incompatibility, and I didn't study it further. After all, there is actually a new excel plug-in. If not, there are too many codes that need to be modified, I guess I will just change the plug-in.

Related recommendations:

Sharing the method of importing excel from phpexcel in TP3.2

##PHP uses PHPExcel to batch upload to the database

thinkPHP+phpexcel implementation of excel report output function example detailed explanation

The above is the detailed content of How to solve phpexcel error in Linux system. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

Choosing Between PHP and Python: A Guide Choosing Between PHP and Python: A Guide Apr 18, 2025 am 12:24 AM

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

Linux Architecture: Unveiling the 5 Basic Components Linux Architecture: Unveiling the 5 Basic Components Apr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

PHP and Python: A Deep Dive into Their History PHP and Python: A Deep Dive into Their History Apr 18, 2025 am 12:25 AM

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

PHP's Impact: Web Development and Beyond PHP's Impact: Web Development and Beyond Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP vs. Python: Use Cases and Applications PHP vs. Python: Use Cases and Applications Apr 17, 2025 am 12:23 AM

PHP is suitable for web development and content management systems, and Python is suitable for data science, machine learning and automation scripts. 1.PHP performs well in building fast and scalable websites and applications and is commonly used in CMS such as WordPress. 2. Python has performed outstandingly in the fields of data science and machine learning, with rich libraries such as NumPy and TensorFlow.

The Continued Use of PHP: Reasons for Its Endurance The Continued Use of PHP: Reasons for Its Endurance Apr 19, 2025 am 12:23 AM

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

How to check the warehouse address of git How to check the warehouse address of git Apr 17, 2025 pm 01:54 PM

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

See all articles