0

我想问一些事情。我对 PHP 没什么问题。

我想在没有 phpmyadmin 但使用 PHP 的情况下将我的数据库导出到 excel。

任何人都可以帮助我吗?

4

2 回答 2

3

有很多方法可以做到这一点。

  1. 使用 PHP 生成一个 CSV 文件,然后您可以在 Excel 中打开该文件。

  2. 使用可以执行此操作的 PHP 库,例如http://phpexcel.codeplex.com。显然,您需要编写代码来连接数据库、提取记录等。

这是一个使用 PHPExcel 的简单“Hello World”示例:

<?php
/** Error reporting */
error_reporting(E_ALL);

/** Include path **/
ini_set('include_path', ini_get('include_path').';../Classes/');

/** PHPExcel */
include 'PHPExcel.php';

/** PHPExcel_Writer_Excel2007 */
include 'PHPExcel/Writer/Excel2007.php';

// Create new PHPExcel object
echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new PHPExcel();

// Set properties
echo date('H:i:s') . " Set properties\n";
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");


// Add some data
echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!');

// Rename sheet
echo date('H:i:s') . " Rename sheet\n";
$objPHPExcel->getActiveSheet()->setTitle('Simple');


// Save Excel 2007 file
echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));

// Echo done
echo date('H:i:s') . " Done writing file.\r\n";

如果您进行快速 google 搜索,还可以使用其他库。

于 2012-10-26T10:38:32.010 回答
0

你有两个选择,

  1. 导出为 CSV,然后导入 excel
  2. 使用一些 php 库作为phpexcel

两者都有优点和缺点,在 CSV 中正确打开它,如果你使用西里尔字母,你必须导入它,但导出非常简单。如果你使用一些库,你可能会遇到导出类型的问题,例如,如果 ypu 想要导出 0456,它可能会以 456 的形式出现。等等

于 2012-10-26T10:42:40.667 回答