xlsxwriter / excel
将数据转换为Excel文件
dev-xlsxwriter
2023-12-16 21:02 UTC
Requires
- php: >=8.0
Requires (Dev)
- orchestra/testbench: ^8.0.6
This package is auto-updated.
Last update: 2024-09-16 22:32:05 UTC
README
概览
XLSXWriter
是一个PHP/Laravel库,允许您轻松地将数据转换为Excel文件。它提供了一种简单便捷的方式来生成具有可自定义功能(如边框、字体样式和列宽)的Excel文件。
安装
要使用XLSXWriter
,您可以通过Composer安装它
composer require franco28dev/xlsxwriter
用法
设置Excel文件属性
$writer->setTitle($title); $writer->setSubject($subject); $writer->setAuthor($author); $writer->setCompany($company); $writer->setKeywords($keywords); $writer->setDescription($description); $writer->setTempDir($tempdir); $writer->setRightToLeft($isRightToLeft);
写入文件
$writer->writeToFile($filename);
写入工作表标题
$writer->writeSheetHeader($sheetName, $headerTypes, $columnOptions);
写入工作表行
$writer->writeSheetRow($sheetName, $row, $rowOptions);
标记合并单元格
$writer->markMergedCell($sheet_name, $start_cell_row, $start_cell_column, $end_cell_row, $end_cell_column);
写入整个工作表
$writer->writeSheet($data, $sheet_name, $header_types);
示例
public function GenerateDataToExcel() { // Start Buffer ob_start(); // Add the first array to scope everything, the second array as header, third array as values for the row $dataCajaDiaria = [ ['Date', 'Total Month Of July'], [ date('Y-m-d H:i:s'), '$150', ], ]; // Initialize the class $writer = new XLSXWriter(); // Set the Author description for the excel file $writer->setAuthor('Franco28 Dev'); // Set the title tab $writer->writeSheet("July sales"); // The filename $filename = 'july_sales.xlsx'; // Write the file $writer->writeToFile($filename); // Clean Buffer for the download ob_get_clean(); // If you want you can check if the file was created or not if (file_exists($filename)) { // Generate the headers for the download, // after the download the file will be deleted header('Content-Description: File Transfer'); header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); header('Content-Disposition: attachment; filename="' . basename($filename) . '"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($filename)); readfile($filename); unlink($filename); } // Return the code to whatever you want return view("sales.month"); }