gpt4 book ai didi

php - 使用 phpSpreadsheet 将 excel 转换为 pdf

转载 作者:行者123 更新时间:2023-12-04 20:05:08 26 4
gpt4 key购买 nike

我正在使用 phpSpreadsheet 将内存中的 Excel 文件转换为 pdf,但我收到了这个致命的错误消息。

这里的消息

Fatal error: Uncaught exception 'PhpOffice\PhpSpreadsheet\Writer\Exception' with message 'Could not open file /pdf_finali/mario.pdf for writing.' in /membri/cassiodb/FEDEGARIPROVE/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf.php:260 Stack trace: #0 /membri/cassiodb/FEDEGARIPROVE/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php(33): PhpOffice\PhpSpreadsheet\Writer\Pdf->prepareForSave('/pdf_finali/mar...') #1 /membri/cassiodb/FEDEGARIPROVE/excel_to_pdf.php(29): PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf->save('/pdf_finali/mar...') #2 {main} thrown in /membri/cassiodb/FEDEGARIPROVE/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf.php on line 260

这里的代码
<?php

require 'vendor/autoload.php';


use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
use PhpOffice\PhpSpreadsheet\Spreadsheet;

//Inizio blocco solo per test standalone
$new_excel_path = "prova_inserimento.xlsx" ;
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader("Xlsx");
$spreadsheet = $reader->load("$new_excel_path");
//Fine blocco solo per test standalone

echo 'Fino alla creazione del foglio tutto bene <br> <br><br><br>';

//Conversione della variabile spreadsheet in pdf


//Creazione del writer
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Mpdf');

//Salvataggio del pfd
//$pdf_path = 'pdf_finali/'.$name.'.pdf';
$pdf_path = 'pdf_finali/mario.pdf';
echo '<br>';
echo $pdf_path;
$writer->save($pdf_path);?>

编辑:

我找到了上一个问题的解决方案(我还编辑了上面的代码,因为我把保存文件的路径写得很糟糕),但现在我得到了这个。
 Fatal error: Class 'Mpdf\Mpdf' not found in /membri/cassiodb/FEDEGARIPROVE/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php on line 20 

最佳答案

$vendorDirPath = realpath(__DIR__ . '/vendor');
if (file_exists($vendorDirPath . '/autoload.php')) {
require $vendorDirPath . '/autoload.php';
} else {
throw new Exception(
die("somthing went wrong");
);
}

$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReaderForFile("190321_CNGD0N0242017_RatingShell.xls");
$phpWord = $reader->load("190321_CNGD0N0242017_RatingShell.xls");
use \PhpOffice\PhpSpreadsheet\Style\Border;

$phpWord ->getDefaultStyle()->applyFromArray(
[
'borders' => [
'allBorders' => [
'borderStyle' => Border::BORDER_THIN,
'color' => ['rgb' => '000000'],
],
]
]
);

$xmlWriter = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($phpWord,'Mpdf');

$xmlWriter->writeAllSheets();
$xmlWriter->setFooter("Sdfsdf");
$num = rand(00, 99);
//create folder named files
$xmlWriter->save("files/helloWorld$num.pdf");

关于php - 使用 phpSpreadsheet 将 excel 转换为 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49070184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com