PHP中创建和编辑Excel表格的方法

要使用纯PHP创建或编辑Excel电子表格,我们将使用PHPExcel库,它可以读写许多电子表格格式,包括xls,xlsx,ods和csv。在我们继续之前,仔细检查您的服务器上是否有PHP 5.2或更高版本以及安装了以下PHP扩展:php_zip,php_xml和php_gd2。

创建电子表格

创建电子表格是PHP应用程序中最常见的用例之一,用于将数据导出到Excel电子表格。查看以下代码,了解如何使用PHPExcel创建示例Excel电子表格:

// Include PHPExcel library and create its object
require('PHPExcel.php');

$phpExcel = new PHPExcel;

// Set default font to Arial
$phpExcel->getDefaultStyle()->getFont()->setName('Arial');

// Set default font size to 12
$phpExcel->getDefaultStyle()->getFont()->setSize(12);

// Set spreadsheet properties – title, creator and description
$phpExcel ->getProperties()->setTitle("Product list");
$phpExcel ->getProperties()->setCreator("Voja Janjic");
$phpExcel ->getProperties()->setDescription("PHP Excel spreadsheet testing.");

// Create the PHPExcel spreadsheet writer object
// We will create xlsx file (Excel 2007 and above)
$writer = PHPExcel_IOFactory::createWriter($phpExcel, "Excel2007");

// When creating the writer object, the first sheet is also created
// We will get the already created sheet
$sheet = $phpExcel ->getActiveSheet();

// Set sheet title
$sheet->setTitle('My product list');

// Create spreadsheet header
$sheet ->getCell('A1')->setValue('Product');
$sheet ->getCell('B1')->setValue('Quanity');
$sheet ->getCell('C1')->setValue('Price');

// Make the header text bold and larger
$sheet->getStyle('A1:D1')->getFont()->setBold(true)->setSize(14);

// Insert product data

// Autosize the columns
$sheet->getColumnDimension('A')->setAutoSize(true);
$sheet->getColumnDimension('B')->setAutoSize(true);
$sheet->getColumnDimension('C')->setAutoSize(true);

// Save the spreadsheet
$writer->save('products.xlsx');

如果要下载电子表格而不是将其保存到服务器,请执行以下操作:

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="file.xlsx"');
header('Cache-Control: max-age=0');
$writer->save('php://output');

编辑现有电子表格

在PHP中编辑电子表格与创建电子表格类似:

// Include PHPExcel library and create its object
require('PHPExcel.php');

// Load an existing spreadsheet
$phpExcel = PHPExcel_IOFactory::load('products.xlsx');

// Get the first sheet
$sheet = $phpExcel ->getActiveSheet();

// Remove 2 rows starting from the row 2
$sheet ->removeRow(2,2);

// Insert one new row before row 2
$sheet->insertNewRowBefore(2, 1);

// Create the PHPExcel spreadsheet writer object
// We will create xlsx file (Excel 2007 and above)
$writer = PHPExcel_IOFactory::createWriter($phpExcel, "Excel2007");

// Save the spreadsheet
$writer->save('products.xlsx');

准备电子表格进行打印

要准备电子表格进行打印,我们将设置纸张方向,尺寸和边距:

$sheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
$sheet -> getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
$sheet->getPageMargins()->setTop(1);
$sheet ->getPageMargins()->setRight(0.75);
$sheet ->getPageMargins()->setLeft(0.75);
$sheet ->getPageMargins()->setBottom(1);

将PHPExcel与Laravel一起使用

PHPExcel库也可以在Laravel框架中使用。查看以下PHP包(此处)并通过Composer安装它。完成安装步骤后,您可以使用以下代码将数据从数据库导出到Excel电子表格中:

Excel::create('Products', function($excel) {

        // Set the title
        $excel->setTitle('Product list');

        // Set the creator
        $excel->setCreator('Voja Janjic');

        // Set description
        $excel->setDescription('PHP Excel spreadsheet testing');

        $excel->sheet('Products', function($sheet) {

                // Get data from the database
                $products = Product::all(); 

                // Generate header row
                $sheet->row(1, array(
                        'ID',
                        'Product',
                        'Price',
                        'Quantity',
                ));

                // Generate data rows
                $i = 2;
                foreach($products as $product) {
                        $sheet->row($i, array(
                                   $product->product_id,
                                   $product->product_name,
                                   $product->price,
                                   $variety->quantity,
                        ));

                        $i++;
                }

        });

})->export('xlsx');
(0)

相关推荐

  • 使用PHPExcel实现数据批量导出为excel表格的方法(必看)

    首先需要下载PHPExecel类文件,帮助文档可以参考PHPExcel中文帮助手册|PHPExcel使用方法. 下面直接上例子,是我自己写的一个简单的批量导出数据为excel的例子 前台页面 比较简单,就是一个超链接,跳转到处理页面,超链接也可以跟一些参数(看需求)! <a href="./Process1.php" rel="external nofollow" >导出excel表格</a> 后台Process.php页面 /** * 批量

  • PHPExcel实现表格导出功能示例【带有多个工作sheet】

    本文实例讲述了PHPExcel实现表格导出功能.分享给大家供大家参考,具体如下: 首先得去下载phpexcel文档,解压下来 <?php /** * 简单实用Execl */ set_include_path('.'.get_include_path().PATH_SEPARATOR.dirname(__FILE__).'/PHPExecl/'); /* @func 引入类 */ require 'PHPExcel.php'; //模拟数据 $mulit_arr = array( array('

  • thinkPHP导出csv文件及用表格输出excel的方法

    本文实例讲述了thinkPHP导出csv文件及用表格输出excel的方法.分享给大家供大家参考,具体如下: 1.thinkphp导出csv文件 导出csv文件可能就那几行代码,今天有个问题困扰我好久,就是导出之后出现一些html代码,这个不应该,view里面是空的,controller中最后也没有$this->display(),最后细心看到think_page_trace这样的字样,恍然大悟,是页面的跟踪日志,这个默认是会输出来的.最后在方法后面加了一个exit结束就好了,下面是代码: 1.I

  • php上传excel表格并获取数据

    这个是最近需要做的一个功能,在网上也查看了很多相关的文章,基本上大同小异,在这里整理一下. 一:首先是html部分 <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" id=&q

  • php通过PHPExcel导入Excel表格到MySQL数据库的简单实例

    如下所示: <?php define('BASE_URL', realpath(dirname(__FILE__))); require_once BASE_URL . '/PHPExcel/PHPExcel.php';//引入PHPExcel类文件 //excel文件的地址 $excel_fiel_path = './phpexcel.xls'; $PHPExcel = new PHPExcel();// 实例化PHPExcel工具类 //分析文件获取后缀判断是2007版本还是2003 $ex

  • php导出word文档与excel电子表格的简单示例代码

    生成word的代码: 复制代码 代码如下: header("Content-type: application/octet-stream"); header("Accept-Ranges: bytes"); header('Content-type: application/doc'); header('Content-Disposition: attachment; filename="测试.doc"'); 生成excel的代码 : 复制代码

  • Thinkphp5+PHPExcel实现批量上传表格数据功能

    1.首先要下载PHPExcel放到vendor文件夹下,我的路径是:项目/vendor/PHPExcel/,把下载的PHPExcel文件放在这里 2.前端代码 <!DOCTYPE html> <html> <head> <title>批量导入数据</title> </head> <body> <form action="{:url('/index/index/importExcel')}" met

  • PHP5.6读写excel表格文件操作示例

    本文实例讲述了PHP5.6读写excel表格文件操作.分享给大家供大家参考,具体如下: 测试环境:php5.6.24.这块没啥兼容问题. 需要更多栗子,请看PHPExcel的examples.还是蛮强大的. 读取excel文件: 第一步.下载开源的PHPExcel的类库文件,官方网站是http://www.codeplex.com/PHPExcel.里面也有很多示例包. 或者从本站下载:https://www.jb51.net/codes/194070.html 第二步.读取的基本代码示例: <

  • PHP处理excel cvs表格的方法实例介绍

    复制代码 代码如下: <PRE class=php name="code"><?php $data = array(); //convert a cvs file to an array $data $handle = fopen("data.csv","r"); while ($curline = fgetcsv($handle, 1000, ",")){ $tmp = array(); $num = co

  • PHP中创建和编辑Excel表格的方法

    要使用纯PHP创建或编辑Excel电子表格,我们将使用PHPExcel库,它可以读写许多电子表格格式,包括xls,xlsx,ods和csv.在我们继续之前,仔细检查您的服务器上是否有PHP 5.2或更高版本以及安装了以下PHP扩展:php_zip,php_xml和php_gd2. 创建电子表格 创建电子表格是PHP应用程序中最常见的用例之一,用于将数据导出到Excel电子表格.查看以下代码,了解如何使用PHPExcel创建示例Excel电子表格: // Include PHPExcel libr

  • asp.net中Table生成Excel表格的方法

    本文实例讲述了asp.net中Table生成Excel表格的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/19

  • C# / VB.NET 在PPT中创建、编辑PPT SmartArt图形的方法详解

    本文介绍通过C#和VB.NET程序代码来创建和编辑PPT文档中的SmartArt图形.文中将分两个操作示例来演示创建和编辑结果. 使用工具:Spire.Presentation for .NET hotfix 5.9.5 Dll文件引用: 方式1:下载包.下载后,解压,打开Bin文件夹,根据自己用的.NET Framework选择相应的文件夹,如:此示例中使用的是NET4.0,即打开NET4.0文件,找到Spire.Presentation.dll文件.找到dll文件后,在vs程序中添加引用该d

  • C#使用Ado.Net更新和添加数据到Excel表格的方法

    本文实例讲述了C#使用Ado.Net更新和添加数据到Excel表格的方法.分享给大家供大家参考.具体分析如下: 微软NET提供了一个交互的方法,通过使用ADO.NET与Microsoft Office程序.内置的OLEDB提供可以用来操纵Excel的.xls电子表格.您可以在Excel中创建一个命名的范围确定表名,我们还需要列标题,如果电子表格中不包含列标题,那么你就需要将它们添加. 如何在Excel中创建一个命名的范围? 随着电子表格打开,选择你希望包括数据查询,包括标题. 选择"插入&quo

  • Java使用Apache.POI中HSSFWorkbook导出到Excel的实现方法

    使用Apache.POI中HSSFWorkbook导出到Excel,具体内容如下所示: 1.引入Poi依赖(3.12) 依赖如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.12</version> </dependency> 2.创建实体类(User.java) package

  • python使用openpyxl库读写Excel表格的方法(增删改查操作)

    一.前言 嗨,大家好,我是新发. 最近需要做个小工具,可以通过python来读写Excel,实现增删改查操作.以前用的是xlrd和xlwt这两个python库,今天我要讲的是openpyxl库,我觉得openpyxl比xlrd和xlwt更强大更好用,话不多说,开始吧. 二.安装openpyxl 可以直接通过命令行安装 pip install openpyxl 如果你是内网环境,则可以先在外网下载openpyxl库然后转到内网再安装. openpyxl下载地址:https://pypi.org/p

  • vue中使用js-xlsx导出excel的实现方法

    目录 安装 第一种 第二种 第三种 安装 npm install --save xlsx file-saver 在组件里面引入 import FileSaver from 'file-saver' import XLSX from 'xlsx' 第一种 其中#outTable是在el-table上定义的id exportExcel() {       var xlsxParam = { raw: true };//转换成excel时,使用原始的格式       var wb = XLSX.uti

  • C#基于COM方式读取Excel表格的方法

    本文实例讲述了C#基于COM方式读取Excel表格的方法.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using Sys

  • C#实现将DataTable内容输出到Excel表格的方法

    本文实例讲述了C#实现将DataTable内容输出到Excel表格的方法.分享给大家供大家参考.具体如下: 1.关于本文 本文描述了一个函数(SaveToExcel),该函数可以将DataTable数据内的数据输出到Excel表格中 2.相关说明 1)本文中使用这个函数将一个DataTable中的内容输出到路径名为addr的目录下: 复制代码 代码如下: public void SaveToExcel(string addr, System.Data.DataTable dt) 2)这个函数需要

随机推荐