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.pswp.cn/news/529509.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529509.shtml
英文地址,請注明出處:http://en.pswp.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" …