php poi,GitHub - satthi/poi-php: poi-php

poi-php

varsion 0.1

(2013/10/21)

このプラグインはJavaのpoiをPHPから叩いてエクセルを入出力するプラグインです。

必須要件

jdk1.7.0_40

poi-3.9

opencsv-2.3

使い方

①poi-phpを任意の場所に設置

②PHPを記述

//デフォルト読み込み

require_once('poi-php.phpのディレクトリパス');

$this->PoiPHP = new PoiPHP();

$this->PoiPHP->settings(array(

'poi_path' => 'poi-3.9のディレクトリパス',

'opencsv_path' => 'opencsv-2.3.jarのファイルパス',

));

//Excel出力

//1シート目の1行目1列にaを文字列として入力

$this->ExcelExport->addString(0,0,0,'a');

//入出力のファイルはフルパスで指定する。

$readfile = dirname(__FILE__) . '/test.xls';

$outFile = dirname(__FILE__) . '/export.xls';

$this->ExcelExport->export($readfile, $outFile);

//Excel入力

//入出力のファイルはフルパスで指定する。

$readfile = dirname(__FILE__) . '/test.xls';

$outFile = dirname(__FILE__) . '/export.csv';

$this->ExcelImport->import($readfile, $outFile, 0, 2, 1, 4);

を記述。

※注意点

Javaのバージョンが合わないと動作しません。

/javaディレクトリ内には.javaファイルも置いているので、

javaのバージョンを合わせられない場合には自分でコンパイルしたら動くかもしれないです。

-----------以下関数の説明です----------

/*

* addString

* 文字列の追加

* 参照セルの設定を入れるとスタイルをコピーしてきます。

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (string)$string 文字列

* (int)$orgrow 参照セルの行番号

* (int)$orgcol 参照セルの列番号

* (int)$orgsheet 参照セルのシート番号

*/

public function addString($sheet,$row,$col,$string,$orgrow = null,$orgcol = null,$orgsheet = null){

/*

* addNumber

* 数値の追加

* 参照セルの設定を入れるとスタイルをコピーしてきます。

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (int)$integer 数値

* (int)$orgrow 参照セルの行番号

* (int)$orgcol 参照セルの列番号

* (int)$orgsheet 参照セルのシート番号

*/

public function addNumber($sheet,$row,$col,$integer,$orgrow = null,$orgcol = null,$orgsheet = null)

/*

* addFormula

* 数値の追加

* 参照セルの設定を入れるとスタイルをコピーしてきます。

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (string)$formula 関数

* (int)$orgrow 参照セルの行番号

* (int)$orgcol 参照セルの列番号

* (int)$orgsheet 参照セルのシート番号

*/

public function addFormula($sheet,$row,$col,$formula,$orgrow = null,$orgcol = null,$orgsheet = null)

/*

* setCellMerge

* セルのマージ

*

* (int)$sheet シート番号

* (int)$rowst 開始行番号

* (int)$rowen 終了行番号

* (int)$colst 開始列番号

* (int)$colen 終了列番号

*/

public function setCellMerge($sheet,$rowst,$rowen,$colst,$colen)

/*

* addSheet

* シートの追加

*

* (int)$org_sheet 大元のシート番号

* (int)$count シート追加数

*/

public function addSheet($org_sheet,$count)

/*

* rmSheet

* シートの削除

*

* (int)$sheet シート番号

*/

public function rmSheet($sheet)

/*

* setSheetname

* シート名の設定

*

* (int)$sheet シート番号

* (int)$sheet シート名

*/

public function setSheetname($sheet,$sheetname)

/*

* copyCell

* セルのコピー

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (int)$orgrow 参照セルの行番号

* (int)$orgcol 参照セルの列番号

* (int)$orgsheet 参照セルのシート番号

*/

public function copyCell($sheet,$row,$col,$orgsheet,$orgrow,$orgcol)

/*

* copyStyle

* スタイルのコピー

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (int)$orgrow 参照セルの行番号

* (int)$orgcol 参照セルの列番号

* (int)$orgsheet 参照セルのシート番号

*/

public function copyStyle($sheet,$row,$col,$orgsheet,$orgrow,$orgcol)

/*

* setBorder

* 罫線の設定

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (string)$topbstyle 上罫線の設定

* (string)$topbcolor 上罫線の色

* (string)$leftbstyle 左罫線の設定

* (string)$leftbcolor 左罫線の色

* (string)$rightbstyle 右罫線の設定

* (string)$rightbcolor 右罫線の色

* (string)$bottombstyle 下罫線の設定

* (string)$bottombcolor 下罫線の色

* 色の種類、罫線の種類は下記参照

*/

public function setBorder($sheet,$row,$col,$topbstyle,$topbcolor,$leftbstyle,$leftbcolor,$rightbstyle,$rightbcolor,$bottombstyle,$bottombcolor){

/*

* setCellColor

* セルの色設定

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (string)$cellcolor セルの色(前景色)の設定

* (string)$backcolor 背景色の設定

* (string)$fillpattern 塗りつぶしパターンの設定

* 色の種類、塗りつぶしパターンの種類は下記参照

*/

public function setCellColor($sheet,$row,$col,$cellcolor,$backcolor = null,$fillpattern = 'SOLID_FOREGROUND')

/*

* setFontSetting

* セルの色設定

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (string)$fontcolor フォントの色設定

* (int)$fontsize フォントのサイズ

* (string)$font フォントの設定 (MS コジック)など文字列で

* (bool)$italic イタリックの設定

* (bool)$bold 太字の設定

* (bool)$strikeout 打ち消し線の設定

* (string)$underline 下線の設定

* 色の種類、下線の種類は下記参照

*/

public function setFontSetting($sheet,$row,$col,$fontcolor = null,$fontsize = null,$font = null,$italic = null,$bold = null,$strikeout = null,$underline = null)

/*

* addImage

* 画像の追加

* 基本は画像パスまで。

* それ以降のパスはすべて指定をしないと動作しない上、強引に画像が引き伸ばされるため奇麗に画像が表示されないので

* resizeは別途行った上で設置を推奨

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (string)$image 画像パス

* (int)$margin_x 左マージン

* (int)$margin_y 上マージン

* (int)$endrow 終端行

* (int)$endcol 終端列

* (int)$margin_rx 右マージン

* (int)$margin_ry 下マージン

*/

public function addImage($sheet,$row,$col,$image,$margin_x = 0,$margin_y = 0,$endrow = null,$endcol = null, $margin_rx = 0,$margin_ry = 0){

/*

* setAlign

* セルの寄せ設定

*

* (int)$sheet シート番号

* (int)$row 行番号

* (int)$col 列番号

* (string)$align 寄せ

* 寄せの種類は下記参照

*/

public function setAlign($sheet,$row,$col,$align)

/*

* reset

* セットした値のリセット

*/

public function reset()

/*

* excelExport

* Excelの出力。addStringなどの設定をすべて行って最後に出力をします。

*

* @param readfile 読み込みテンプレートファイル

* @param outFile 出力Excelファイル

*/

public function excelExport($readfile, $outFile)

/*

* excelImport

* Excelの入力。CSVファイルに出力をします。

* 任意のシートの任意の場所から読み込みます。

*

* $readfile 読み込みExcelファイル

* $outFile 出力CSVファイル

* $sheet 読み込むシート番号

* $rowst 読み込み開始行

* $colst 読み込み開始列

* $colnum 列数

* $file_encode CSVファイルの文字コード

*/

public function excelImport($readfile, $outFile, $sheet, $rowst, $colst, $colnum,$file_encode = 'UTF-8')

AQUA

AUTOMATIC

BLACK

BLUE

BLUE_GREY

BRIGHT_GREEN

BROWN

CORAL

CORNFLOWER_BLUE

DARK_BLUE

DARK_GREEN

DARK_RED

DARK_TEAL

DARK_YELLOW

GOLD

GREEN

GREY_25_PERCENT

GREY_40_PERCENT

GREY_50_PERCENT

GREY_80_PERCENT

LAVENDER

LEMON_CHIFFON

LIGHT_CORNFLOWER_BLUE

LIGHT_GREEN

LIGHT_ORANGE

LIGHT_TURQUOISE

LIGHT_YELLOW

LIME

MAROON

OLIVE_GREEN

ORANGE

ORCHID

PALE_BLUE

PINK

PLUM

RED

ROSE

ROYAL_BLUE

SEA_GREEN

SKY_BLUE

TAN

TEAL

TURQUOISE

VIOLET

WHITE

YELLOW

AUTOMATIC

罫線

none

thin

medium

dashed

dotted

thick

dobble

hair

medium_dashed

dash_dot

medium_dash_dot

dash_dot_dot

medium_dash_dot_dot

slanted_dash_dot

下線

NONE

SINGLE

DOUBLE

SINGLE_ACCOUNTING

DOUBLE_ACCOUNTING

塗りつぶし

NO_FILL

SOLID_FOREGROUND

FINE_DOTS

ALT_BARS

SPARSE_DOTS

THICK_HORZ_BANDS

THICK_VERT_BANDS

THICK_BACKWARD_DIAG

THICK_FORWARD_DIAG

BIG_SPOTS

BRICKS

THIN_HORZ_BANDS

THIN_VERT_BANDS

THIN_BACKWARD_DIAG

THIN_FORWARD_DIAG

SQUARES

DIAMONDS

寄せ

LEFT

RIGHT

CENTER

GENERAL

FILL

JUSTIFY

CENTER_SELECTION

License

The MIT Lisence

Copyright (c) 2013 Fusic Co., Ltd. (http://fusic.co.jp)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Author

Satoru Hagiwara

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php hmac sha256签名,HMAC-SHA256签名错误?

#2.连接商户key:act_name3333321ss&client_ip118.89.65.223&mch_billnoa0000000000000000001&mch_id1529243621&nonce_str905Qh0J59d69JjDtD7QkyRAm576kh5hU&re_openidoiW0l03-60UfHJfo0olLt3wOLb0E&remark111&remark222dddd&send_…

php传输的多个id集中为一条记录,如何将多个ID应用于Mysql中的一条记录?

在实体关系语言中,这称为多对多关系.一个产品可以有多个类别,一个类别可以有多个产品.要在关系数据库中执行此操作,您需要三个表.product: product_id, name, description, etccategory: category_id, catname, catdescription, etc然后用这个所谓的联接表建立产品和类别之间的…

php redis 传递闭包,通过缓存构建高性能 Laravel 应用

通过缓存构建高性能 Laravel 应用由 学院君 创建于3年前, 最后更新于 11个月前版本号 #220678 views9 likes1 collects配置Laravel 为不同的缓存系统提供了统一的 API。缓存配置位于 config/cache.php。在该文件中你可以指定在应用中默认使用哪个缓存驱动。Laravel 开箱支持主流…

imclearboder matlab,Lucas

Lucas-Kanade跟踪算法是视觉跟踪中一个很经典的基于点的逐帧跟踪算法。起初这个算法是用来求解stero matching1的,后来经过Carlo Tomasi2和Jianbo Shi3等人的发展渐趋成熟。Jianbo Shi提出了一种筛选跟踪点特征的方法,使得特征的跟踪更可靠。Jean-Yves B…

php判断url参数为空,PHP检查url链接是否已经有参数的简单示例

这篇文章主要为大家详细介绍了PHP检查url链接是否已经有参数的简单示例,具有一定的参考价值,可以用来参考一下。感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧!比如分页,因为有些链接已经有参数了&#xff0c…

java 读取 邮件 附件,JavaMail 中对附件下载的处理

在项目中使用 JavaMail 作为邮件核心库,但是一直遇到一个比较头疼的问题,当邮件中存在附件时,此封邮件加载速度很慢,最高时之后 80k/s.通过 log 打印看出,当获取附件时,获取一段之后等待一段时间在获取另一端.导致 io 开销过大,等待网络读取时间过长.相关日志如下:O24 FETCH 27…

matlab求勒让德多项式零点,有没有勒让德多项式导数 零点程序

求N1次勒让德多项式的m(m0,1,...)阶导数零点Matlab程序子程序:function xjp(N,alpha,beta)n1:N;a(1)(alphabeta2)/2;b(1)(beta-alpha)/2;a([2:N1])(2*nalphabeta1).*(2*nalphabeta2)./(2*(n1).*(nalphabeta1));b([2:N1])(alpha*alpha-beta*beta)*(2*nalphabeta1)./(…

js_long.php,protobuf.js 与 Long.js的使用详解

这次给大家带来protobuf.js 与 Long.js的使用详解,是急用protobuf.js 与 Long.js的注意事项有哪些,下面就是实战案例,一起来看一下。protobuf.js的结构和webpack的加载之后的结构很相似。这样的模块化组合是个不错的结构方式。1个是适应了不同…

微分进化算法解决函数优化问题的matlab代码,Matlab微分进化算法及优化函数测试...

微分进化(Difference Evolution,DE)算法是一种优化算法,据称其比GA(遗传算法)等更为优秀。借鉴网上实现的DE算法,用Matlab实现了对若干函数优化问题的解法,代码如下:function [] de_testclear all;close all;clc;%解&…

Oracle中获取文件中的数据,操作oracle中的数据文件

收藏于http://dev.yesky.com/296/8090796.shtmlOracle数据库中管理表空间和数据文件数据库的三大组成部分:数据文件,控制文件,Redo日志。表空间分为系统表空间和非系统表空间。SYSTEM表空间是最基本的,必须的,Oracle建议你为用户数…

oracle 存储过程设置回滚点,(转)oracle 存储过程事宜使用断点回滚 -savepoint

学习存储过程中使用断点回滚事务时,发现目前网络上存在一个问题,那就是使用断点回滚后,都忘记了一个很重要的事情,提交事务。虽然使用了断点回滚,但是断点回滚不像rollBack或commit一样结束当前事务,而使用…

php tp5清空数据表并主键,tp5数据库——更新数据

更新数据更新数据表中的数据Db::table(think_user)->where(id, 1)->update([name > thinkphp]);如果数据中包含主键,可以直接使用:Db::table(think_user)->update([name > thinkphp,id>1]);update 方法返回影响数据的条数,…

oracle几个网络,ORACLE网络的几个重点概念

数据库名(DB_NAME)、数据库实例名(INSTANCE_NAME)、操作系统环境变量ORACLE_SID、数据库服务名 (SERVICE_NAME)、数据库域名(DB_DOMAIN)以及全局数据库名(GLOBAL_DB_NAME)是几个使用Oracle数据库容易混 淆的概念。1、数据库名与实例名数据库名(DB_NAME):是区分数据的…

oracle每季度补丁,Oracle 2020 年第四季度补丁发布

半个月前,也就是 10 月 20 日, Oracle 发布了今年最后一次补丁更新,那么很多人都想打最新的 PSU,理由是有被扫到各种漏洞,有的扫描工具着实太坑,这里就不用说了,前几天看到盖总发布的文章2020年…

php flash上传进度条,PHP_PHP+FLASH实现上传文件进度条相关文件 下载,PHP之所以很难实现上传进度条 - phpStudy...

PHPFLASH实现上传文件进度条相关文件 下载PHP之所以很难实现上传进度条是因为在我们上传文件到服务器的时候,要等到文件全部送到服务器之后,才执行相应的php文件。在这之前,文件数据保存在一个临时文件里面,而php无法获得这个文件…

oracle截取时间函数6,SQL 取日期部分函数

convert(varchar(10),getdate(),120)这个函数就可以得到日期部分了,我觉得还是比较方便的,我觉得SQL在日期方面,没有ORACLE函数坐的好。。Sql Server中的日期与时间函数1. 当前系统日期、时间select getdate()2. dateadd 在向指定日期加上一…

oracle 找不到程序,Oracle 找不到监听程序

Oracle服务器文件 app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.oraSID_LIST_LISTENER (SID_LIST (SID_DESC (SID_NAME CLRExtProc)(ORACLE_HOME D:\app\Administrator\product\11.2.0\dbhome_1)(PROGRAM extproc)(ENVS "EXTPROC_DLLSONLY:D:\…

oracle中的存储过程教程,oracle 存储过程

-- 查看系统定时任务SELECT * FROM DBA_JOBS-- 新建定时任务DECLAREjobno NUMBER;BEGINSYS.DBMS_JOB.SUBMIT(JOB > jobno, /*自动生成JOB_ID*/WHAT > qmcb_ls_data;, /*需要执行的存储过程名称或SQL语句*/NEXT_DATE > SYSDATE, /*初次执行时间-立即执行*/INTERVAL >…

Oracle segment啥意思,关于oracle数据库段segment的小结

段(segment)是一种在数据库中消耗物理存储空间的任何实体(一个段可能存在于多个数据文件中,因为物理的数据文件是组成逻辑表空间的基本物理存储单位)今天碰到一个高水位问题:一个分区表,删除某个分区中的一些数据后,表空间并没有回…

Linux在文件第一行添加字符,使用shell命令给文件中每一行的前面、后面、指定列添加字符...

shell给一个文件中的每一行开头插入字符的方法:awk {print "X"$0} fileNameshell给一个文件中的每一行结尾插入字符的方法:awk {print $0"X"} fileNameshell给一个文件中的每一行的指定列插入字符的方法:awk $O$O" …