我正在使用共享服务器,但具有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();
任何人都有解决此类问题的方法,谢谢。
答案 0 :(得分: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 Java和PHP/Java Bridge。