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

php poi,GitHub - satthi/poi-php: poi-php相关推荐

  1. java poi wps_POI操作WPS表格POI操作WPS表格.docx

    POI操作WPS表格POI操作WPS表格 原文网址:/thread1-1.htmlWps二次开发--POI入门教程一.POI的介绍Apache POI是Apache软件基金会的开放源码函式库,POI提 ...

  2. poi获取段落位置_Apache POI:从java中的word文档(docx)中提取段落和后续表格

    POI中的Word API仍然处于不稳定状态,但是您应该能够通过以下两种方式之一迭代这些段落: XWPFDocument doc = new XWPFDocument(fis); List parag ...

  3. java poi word 表格_java 使用POI 读写word 表格

    导读热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.io.FileInputStream; import j ...

  4. 安卓百度地图附近poi搜索以及到指定poi的换乘方案

    我是第一次在CSDN写博客,是因为一起实习的学长嫌弃我总问他问题,就把一个类似于<车来了>的<班车系统>交给了我一个人,从那以后我必须要孤军奋战,自己研究不会的问题,对于我来说 ...

  5. java poi exce 移动_JAVA使用POI操作excel

    这里提一下,java操作excel的组件除了apache的poi,还有jexcelapi(jxl),其中poi组件的获取地址为poi.apache.org. poi组件中常用的类有HSSFworkbo ...

  6. java 读取ppt文件_java使用poi读取ppt文件和poi读取excel、word示例

    Apache的POI项目可以用来处理MS Office文档,codeplex上还有一个它的.net版本.POI项目可创建和维护操作各种基于OOXML和OLE2文件格式的Java API.大多数MS O ...

  7. java word转html 乱码 poi,java word转html poi

    java word转html poi [2021-01-29 15:50:39]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&q ...

  8. java poi excel 导入数据库_java POI 处理excel表格数据并导入数据库示例

    java操作Excel最常用的开源组件有poi与jxl.jxl是韩国人开发的,发行较早,但是更新的很慢,目前似乎还不支持excel2007. poi是apache下的一个子项目,poi应该是处理ms的 ...

  9. poi java 其他_让POI架起Java与Office之间的桥梁一

    本文将阐述如何用POI来读取/写入完整的Excel文件. 作者:中国IT实验室 来源:中国IT实验室 2007年8月31日 本文将阐述如何用POI来读取/写入完整的Excel文件. 约定:POI项目2 ...

最新文章

  1. mysql repalication_mysql replication(主从复制)(一)MS模式
  2. csgo国服文件转国际服务器,csgo国际服怎么转国服 csgo国际服转到国服方法介绍...
  3. VS2008,vs2010 快捷键大全
  4. python做exe开发教程_python做exe开发教程
  5. eclipse 提交git失败_简单10步教你使用eclipse整合gitee码云实现共享开发
  6. 怎样能用计算机打出表白数字,怎么用数字表白?盘点数字表白暗语
  7. LinkedHashSet类
  8. java 使用c .dll_Windows下java调用c的dll动态库--Dev_Cpp编译c生成dll
  9. MySQL的binlog
  10. opera for android,Opera Mobile浏览器
  11. python中的引用,Python里的引用和拷贝
  12. 【转】VC6下安装与配置OpenCV1.0
  13. 热文:if(a==1且a==2且a==3),有没有可能为true?
  14. 复杂网络分析工具及其比较(转)
  15. java环境_Java 开发环境配置
  16. 28张高清数据分析全知识地图,强烈建议收藏
  17. LDAP管理用户数据,用户UserAccountControl属性详解
  18. 首金奥运健儿杨倩,获得金牌和奖金缴纳个税吗?雅戈尔赠送她一套房,交税吗?
  19. W-Hive 支持苹果 iOS16 新版本
  20. Java版人脸检测详解上篇:运行环境的Docker镜像(CentOS+JDK+OpenCV)

热门文章

  1. 阿里云宣布3年再投2000亿
  2. MQ 技术产品井喷,今天来详聊一下腾讯开源消息中间件 TubeMQ | 原力计划
  3. 【IPF2020】浪潮集团副总裁、渠道管理部总经理王峰:赋能智慧生态 筑基新基建
  4. 当我们谈AI时,到底该谈什么?
  5. SDN精华问答 | 了解SDN架构
  6. binaryviewer java_用java实现java的2进制文件字节序转换到C/C++的2进制文件字节序
  7. html的语义化面试题,前端面试题-HTML结构语义化
  8. Directory /opt/jfrog/artifactory/var has bad permissions for user id 1030
  9. docker 安装部署 Jenkins 2.322
  10. 创建Jenkins自动化部署任务