PHPackages                             jiyull/office - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. jiyull/office

ActiveL[File &amp; Storage](/categories/file-storage)

jiyull/office
=============

excel、word等处理组件

02PHP

Since May 19Pushed 3y ago1 watchersCompare

[ Source](https://github.com/daixunxing/office)[ Packagist](https://packagist.org/packages/jiyull/office)[ RSS](/packages/jiyull-office/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

office
======

[](#office)

excel、word导入导出等组件

功能简介
----

[](#功能简介)

- 基于phpword与phpexcel的组件
- 可处理word文档与excel文档的导入导出

安装命令
----

[](#安装命令)

`composer require jiyull/office`

使用demo
------

[](#使用demo)

```

$xlsName  = "export_blank_list";
$xlsCell  = array(
array('id','序号'),
array('name','填写人姓名'),
array('submit_time','填写时间'),
array('mobile','联系方式'),
array('submit_content','内容查看')
);
$xlsData = [];
$xlsData = [
['id' => 1,
'name' => '叫爸爸',
'submit_time' => "2022年",
"mobile" => "15111112222",
"submit_content" => "内容查看",
]
];
$office = new Office();

$returnData = $office->exportExcel($xlsName,$xlsCell, $xlsData, "http://127.0.0.1");

```

\##设置Excel样式：

```
//设置宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(200);   //设置单元格宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);   //内容自适应
//设置align（需要引入PHPExcel_Style_Alignment）
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);//水平方向上两端对齐
$objPHPExcel->getActiveSheet()->getStyle( 'A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);    //垂直方向上中间居中
//合并拆分单元格
$objPHPExcel->getActiveSheet()->mergeCells('A28:B28');      // A28:B28合并
$objPHPExcel->getActiveSheet()->unmergeCells('A28:B28');    // A28:B28再拆分
//字体大小、粗体、字体、下划线、字体颜色(需引入PHPExcel_Style_Font、PHPExcel_Style_Color)
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(20);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara');
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
//默认字体、大小
$objPHPExcel->getDefaultStyle()->getFont()->setName( 'Arial');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(20);
//背景填充
$objPHPExcel->getActiveSheet()->getStyle( 'A3:E3')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle( 'A4:E4')->getFill()->getStartColor()->setARGB('FFC125');
// 单元格密码保护不让修改
$objPHPExcel->getActiveSheet()->getProtection()->setSheet( **true**);  // 为了使任何表保护，需设置为真
$objPHPExcel->getActiveSheet()->protectCells( 'A3:E13', 'PHPExcel' ); // 将A3到E13保护 加密密码是 PHPExcel
$objPHPExcel->getActiveSheet()->getStyle( 'B1')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); //去掉保护
//给单元格内容设置url超链接
$objActSheet->getCell('E26')->getHyperlink()->setUrl( 'http://www.phpexcel.net');    //超链接url地址
$objActSheet->getCell('E26')->getHyperlink()->setTooltip( 'Navigate to website');  //鼠标移上去连接提示信息

```

\##注意事项 在部署上，通常的架构是 nginx + php-fpm，对于Excel中图片比较多的数据导入需要设置加大上传文件的限制和超时时间。

在文件上传上，通常会出现 413 request Entity too Large 错误，解决的办法是在 nginx 配置中增加以下配置：

> client\_max\_body\_size 2048m;

相应的 PHP 配置也需要修改，需要修改php.ini ：

> upload\_max\_filesize = 2048M post\_max\_size = 2048M

Excel数据导入，通常会触发504错误，这种情况一般是执行时间太短，涉及的 nginx 配置：

> fastcgi\_connect\_timeout 600;

php-fpm 中的 [www.conf](http://www.conf)

> request\_terminate\_timeout = 1800

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/f49ccfd0cb53e5c4f580029ec3080efc42ba21f87b402177e77ca9efcd07b9e2?d=identicon)[daixunxing](/maintainers/daixunxing)

---

Top Contributors

[![daixunxing](https://avatars.githubusercontent.com/u/5743267?v=4)](https://github.com/daixunxing "daixunxing (8 commits)")

### Embed Badge

![Health badge](/badges/jiyull-office/health.svg)

```
[![Health](https://phpackages.com/badges/jiyull-office/health.svg)](https://phpackages.com/packages/jiyull-office)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M125](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
