php excel 导出,导入功能以及相关操作

phpExcel类最新的下载地址

下载地址:https://github.com/PHPOffice/PhpSpreadsheet

导出功能说明

/**
 * 导出Excel模板
 * @param array $title  标题
 * @param array $data  数据
 * @param string $fileName 文件名
 * @param string $savePath  保存路径
 * @param bool $isDown  是否下载
 * @throws PHPExcel_Exception
 * @throws PHPExcel_Reader_Exception
 * @throws PHPExcel_Writer_Exception
 */
public function exportExcel($title=[], $data=[], $fileName='Excel模板', $savePath='./', $isDown=false)
{
    $this->load->library('phpexcel/Classes/PHPExcel');  #引入excel类
    $phpexcel = new PHPExcel();
    $cellName = array('A', 'B');
    $phpexcel->getActiveSheet(0)->setTitle('模板');
    $_row = 1;
    $title = ['编号', '任务'];
    foreach ($title AS $key => $v) {   //设置列标题
        $phpexcel->setActiveSheetIndex(0)->setCellValue($cellName[$key] . $_row, $v);
    }
    $data = empty($data) ? [
        ['1', '网上购物1'],
        ['2', '网上购物2'],
        ['3', '启动导航']] : $data;
    foreach ($data as $k => $val) {
        foreach ($val as $kk => $v) {
            $phpexcel->setActiveSheetIndex(0)->setCellValue($cellName[$kk] . ($_row+$k), $v);
        }
    }
    if($isDown){   //网页下载  
        header('pragma:public');  
        header("Content-Disposition:attachment;filename=$fileName.xls");  
        $objWrite->save('php://output');exit;  

    }  
    $_fileName = iconv("utf-8", "gb2312", $fileName);   //转码  
    $_savePath = $savePath.$_fileName.'.xlsx';  
    $objWrite->save($_savePath);  
    return $savePath.$fileName.'.xlsx'; 
}

方法调用样例

exportExcel([‘编号’, ‘任务’,], [[‘1’,'线上游戏 '],[‘2’,‘线下游戏’]], ‘模板’, ‘./’, true);

excel设置单元格大小

$phpexcel = new PHPExcel();
$phpexcel->setActiveSheetIndex(0);
$cellName = ['A', 'B', 'C', 'D', 'E','F'];
$phpexcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);//设置列B宽度为30
$phpexcel->getActiveSheet()->getColumnDimension('C')->setWidth(30);
$phpexcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);//设置宽度自动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是 PHP 代码示例,用于从 MySQL 数据库导出数据到 Excel 文件: ``` <?php // 连接数据库 $conn = mysqli_connect("hostname", "username", "password", "database_name"); // 检查连接是否成功 if (!$conn) { die("连接失败: " . mysqli_connect_error()); } // 查询数据库并导出Excel 文件 $sql = "SELECT * FROM table_name"; $result = mysqli_query($conn, $sql); // 创建 PHPExcel 对象 $objPHPExcel = new PHPExcel(); // 设置工作表 $objPHPExcel->setActiveSheetIndex(0); $sheet = $objPHPExcel->getActiveSheet(); // 设置标题行 $sheet->setCellValue("A1", "列1"); $sheet->setCellValue("B1", "列2"); ... // 循环读取数据库中的数据 $row = 2; // 从第2行开始 while ($row_data = mysqli_fetch_assoc($result)) { $sheet->setCellValue("A".$row, $row_data["column1"]); $sheet->setCellValue("B".$row, $row_data["column2"]); ... $row++; } // 设置保存路径 $file_name = "导出文件名.xlsx"; $save_path = "导出文件路径/".$file_name; // 保存 Excel 文件 $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save($save_path); // 关闭数据库连接 mysqli_close($conn); // 输出下载链接 echo "文件已导出,请点击 <a href='".$save_path."'>下载</a>"; ``` 以下是 PHP 代码示例,用于从 Excel 文件导入数据到 MySQL 数据库: ``` <?php // 连接数据库 $conn = mysqli_connect("hostname", "username", " ### 回答2: MySQL导入导出Excel是将MySQL数据库中的数据导出Excel表格或将Excel表格中的数据导入到MySQL数据库中。 导出Excel使用的是PHPExcel库,首先需要安装这个库,并在代码中引入相应的类文件。然后连接MySQL数据库,编写SQL查询语句以获取所需数据。接着创建一个Excel对象,设置表头和数据,将查询结果逐行写入到Excel中。最后将Excel保存为文件并提供下载链接。 以下是一个简单的MySQL导出ExcelPHP代码示例: <?php require_once 'PHPExcel/PHPExcel.php'; // 连接MySQL数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 查询数据 $sql = "SELECT * FROM table"; $result = $conn->query($sql); // 创建Excel对象 $objPHPExcel = new PHPExcel(); $objPHPExcel->getActiveSheet()->setTitle('Sheet1'); // 设置表头 $objPHPExcel->getActiveSheet()->setCellValue('A1', '列1'); $objPHPExcel->getActiveSheet()->setCellValue('B1', '列2'); $objPHPExcel->getActiveSheet()->setCellValue('C1', '列3'); // 设置数据 $row = 2; while ($row_data = $result->fetch_assoc()) { $objPHPExcel->getActiveSheet()->setCellValue('A' . $row, $row_data['column1']); $objPHPExcel->getActiveSheet()->setCellValue('B' . $row, $row_data['column2']); $objPHPExcel->getActiveSheet()->setCellValue('C' . $row, $row_data['column3']); $row++; } // 保存Excel文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('output.xlsx'); // 提供下载链接 echo '<a href="output.xlsx">Download Excel</a>'; // 关闭数据库连接 $conn->close(); ?> 导入Excel同样使用PHPExcel库,首先需要将Excel文件上传到服务器上,并在代码中获取上传文件的路径。然后连接MySQL数据库,编写插入语句以将数据插入到数据库中。接着使用PHPExcel的读取功能,读取Excel文件的内容并逐行插入到数据库中。 以下是一个简单的MySQL导入ExcelPHP代码示例: <?php require_once 'PHPExcel/PHPExcel.php'; // 连接MySQL数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 获取上传文件路径 $file_path = 'path/to/uploaded/file.xlsx'; // 读取Excel文件 $objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objPHPExcel = $objReader->load($file_path); $sheet = $objPHPExcel->getSheet(0); // 获取行数 $highestRow = $sheet->getHighestRow(); // 读取数据并插入数据库 for ($row = 2; $row <= $highestRow; $row++) { $column1 = $sheet->getCell('A' . $row)->getValue(); $column2 = $sheet->getCell('B' . $row)->getValue(); $column3 = $sheet->getCell('C' . $row)->getValue(); $sql = "INSERT INTO table (column1, column2, column3) VALUES ('$column1', '$column2', '$column3')"; if ($conn->query($sql) !== TRUE) { echo "Error: " . $sql . "<br>" . $conn->error; } } // 关闭数据库连接 $conn->close(); ?> 以上是一个基本的MySQL导入导出ExcelPHP代码示例,根据实际需求可以进行相应的修改和扩展。 ### 回答3: MySQL导入导出Excel可以使用PHP代码来实现。以下是一个示例代码: 导出Excel文件: ``` <?php // 导出Excel文件 require_once 'PHPExcel.php'; // 创建一个新的PHPExcel对象 $objPHPExcel = new PHPExcel(); // 设置Excel文件的属性 $objPHPExcel->getProperties()->setCreator("Your Name") ->setLastModifiedBy("Your Name") ->setTitle("Excel Document") ->setSubject("Excel Document") ->setDescription("Test document for Excel") ->setKeywords("excel php") ->setCategory("Test"); // 添加数据到Excel文件中 $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello') ->setCellValue('B1', 'World!'); // 导出Excel文件 header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="example.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output'); exit; ?> ``` 导入Excel文件: ``` <?php // 导入Excel文件 require_once 'PHPExcel.php'; // 获取上传的Excel文件 $file = $_FILES['file']['tmp_name']; // 读取Excel文件内容 $objPHPExcel = PHPExcel_IOFactory::load($file); // 获取第一个工作表 $sheet = $objPHPExcel->getSheet(0); // 获取行数和列数 $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); // 循环读取数据 for ($row = 1; $row <= $highestRow; $row++) { // 读取每一列的数据 for ($col = 'A'; $col <= $highestColumn; $col++) { $data = $sheet->getCell($col.$row)->getValue(); // 处理数据 } } // 处理完数据之后可以进行其他操作 ?> ``` 以上是一个简单示例的MySQL导入导出ExcelPHP代码。你可以根据自己的需求修改代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值