0

我正在使用共享服务器,我有一个 cpanel 访问权限,但没有找到任何实现方法。

我收到此错误,但找不到共享服务器的任何解决方案。

PHP Fatal error:  Class 'COM' not found

下面的代码php文件代码:

// include("DataType.inc");

header("Content-Type: text/html");

echo "Tutorial 29<br>";
echo "----------<br>";

// Create an instance of the class that exports Excel files
$workbook = new COM("EasyXLS.ExcelDocument");

// Create two sheets
$workbook->easy_addWorksheet_2("First tab");
$workbook->easy_addWorksheet_2("Second tab");

// Get the table of data for the first worksheet
$xlsFirstTable = $workbook->easy_getSheetAt(0)->easy_getExcelTable();

// Add data in cells for report header
for ($column=0; $column<5; $column++)
{
    $xlsFirstTable->easy_getCell(0,$column)->setValue("Column " . ($column + 1));
    $xlsFirstTable->easy_getCell(0,$column)->setDataType($DATATYPE_STRING);
}

// Add data in cells for report values
for ($row=0; $row<100; $row++)
{
    for ($column=0; $column<5; $column++)
    {
        $xlsFirstTable->easy_getCell($row+1,$column)->setValue("Data ".($row + 1).", ".($column + 1));
        $xlsFirstTable->easy_getCell($row+1,$column)->setDataType($DATATYPE_STRING);
    }
}

// Set column widths
$xlsFirstTable->easy_getColumnAt(0)->setWidth(100);
$xlsFirstTable->easy_getColumnAt(1)->setWidth(100);
$xlsFirstTable->easy_getColumnAt(2)->setWidth(100);
$xlsFirstTable->easy_getColumnAt(3)->setWidth(100);

// Export the XLSB file
echo "Writing file: C:\Samples\Tutorial29.xlsb<br>";
$workbook->easy_WriteXLSBFile("./Tutorial29.xlsb");

// Confirm export of Excel file
if ($workbook->easy_getError() == "")
    echo "File successfully created.";
else
    echo "Error encountered: " . $workbook->easy_getError();

// Dispose memory
$workbook->Dispose();

任何人都有此类问题的解决方案,谢谢。

4

1 回答 1

0

该错误是由不支持用 .NET 编写的 COM dll 的 PHP 服务器引起的。您必须在 php.ini 文件中为您的 PHP 服务器添加一个扩展。

extension=php_com_dotnet.dll 

https://www.easyxls.com/manual/troubleshooting/class-com-not-found.html

更新:这是您遇到的错误的解决方案,但我刚刚注意到您在 Unix 上。Unix 不支持 COM 对象。您必须安装EasyXLS for JavaPHP/Java Bridge

于 2019-02-19T14:14:39.963 回答