phpexcel 导出文件 (你知道怎样使用PHPExcel导出文件吗?)
PHPExcel 是 PHP 语言中一个用于处理 Microsoft Excel 文件的开源库。它提供了一些方法和类来读写 Excel 文件,还提供了许多附加功能,例如图表、图像和条件格式等。在本文中,我们将介绍怎样使用 PHPExcel 导出文件。
- 安装 PHPExcel
首先要安装 PHPExcel。在 PHPExcel 的官方网站上可以下载最新版本的代码,解压并将其放在你的服务器上。
- 创建 Excel 文件
PHPExcel 是通过创建一个“工作簿”来操作 Excel 文件的。工作簿是一个空的 Excel 文件,在其中添加内容后会被保存为一个新的 Excel 文件。
示例代码:
“`
require_once ‘path/to/PHPExcel.php’;
// 创建一个新的工作簿对象
$objPHPExcel = new PHPExcel();
// 设置工作簿属性
$objPHPExcel->getProperties()
->setCreator(“Your Name”)
->setLastModifiedBy(“Your Name”)
->setTitle(“Example”)
->setSubject(“Example Document”)
->setDescription(“Example document for PHPExcel class.”)
->setKeywords(“office PHPExcel php”)
->setCategory(“Example”);
// 设置默认样式
$objPHPExcel->getDefaultStyle()->getFont()
->setName(‘Arial’)
->setSize(10);
// 添加工作表
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(‘A1’, ‘Name’)
->setCellValue(‘B1’, ‘Age’)
->setCellValue(‘C1’, ‘Email’);
// 添加数据
$objPHPExcel->getActiveSheet()->setCellValue(‘A2’, ‘John’)
->setCellValue(‘B2′, ’24’)
->setCellValue(‘C2’, ‘john@example.com’);
// 将工作表导出为 Excel 文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel2007’);
$objWriter->save(‘example.xlsx’);
“`
上述代码创建了一个包含一个工作表的工作簿对象,并向其中添加了一些数据。然后将工作表导出为 example.xlsx
文件。
- 自定义样式
除了默认样式,我们可以为工作表中的单元格和行列指定不同的样式。
示例代码:
“`
// 设置单元格样式
$objPHPExcel->getActiveSheet()
->getStyle(‘A1’)
->getAlignment()
->setHorizontal(PHPExcelStyleAlignment::HORIZONTAL_RIGHT);
// 设置行列样式
$objPHPExcel->getActiveSheet()->getColumnDimension(‘A’)->setWidth(15);
$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(25);
“`
上述代码演示了如何将单元格 A1 设置为向右对齐,并将 A 列的宽度调整为 15 个字符,将第一行的行高调整为 25 个像素。
- 导入数据
我们也可以从数据库或其他来源导入数据并将其导出为 Excel 文件。下面是一个从 MySQL 数据库中导出数据的示例。
示例代码:
“`
// 连接数据库
$conn = new mysqli(‘localhost’, ‘username’, ‘password’, ‘database’);
// 查询数据
$sql = “SELECT * FROM users”;
$result = $conn->query($sql);
// 创建一个新的工作簿对象
$objPHPExcel = new PHPExcel();
// 添加工作表标题
$objPHPExcel->getActiveSheet()->setTitle(‘Users’);
// 列头和数据
$i = 1;
while ($row = $result->fetch_assoc()) {
// 列头
if ($i == 1) {
$j = 0;
foreach ($row as $key => $value) {
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($j, $i, $key);
$j++;
}
}
// 数据
$j = 0;
$i++;
foreach ($row as $value) {
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($j, $i, $value);
$j++;
}
}
// 设置导出格式
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’);
// 浏览器下载
header(‘Content-Type: application/vnd.ms-excel’);
header(‘Content-Disposition: attachment;filename=”users.xls”‘);
header(‘Cache-Control: max-age=0’);
$objWriter->save(‘php://output’);
“`
上述代码连接 MySQL 数据库,查询 users 表中的所有数据,并将其导出为 Excel 文件。然后,我们设置了正确的响应标头,以便浏览器可以下载文件。
总结
导出 Excel 文件是一项非常有用的任务,而 PHPExcel 提供了一个简单而强大的库,可以方便地导出 Excel 文件。通过使用 PHPExcel,我们可以轻松地创建 Excel 工作簿,并添加数据、设置样式、导出文件等。了解 PHPExcel,能够使我们更加高效地从 PHP 应用程序中整合到 Microsoft Excel。