如何使用共享服务器将数据导出到PHP中的XLSB文件中

时间:2019-02-01 11:38:45

标签: php xlsb

我正在使用共享服务器,但具有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();

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

1 个答案:

答案 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 JavaPHP/Java Bridge