發表文章

目前顯示的是有「railo」標籤的文章

Coldfusion (Railo 3.3.4) 使用 POI 元件 讀取 xls/xlsx 修改記錄

圖片
這是配合 上一篇 『 Coldfusion直接讀取/產生Excel檔案 (使用POI元件) 』進階改版 主要原因是 上一篇 的功能只能讀取 XLS檔案,但是對於XLSX卻沒有辦法處理。 如果升級 POI的版本到最新版,會造成 RAILO 內建的 Apache 無法支援該套件版本。 經過一翻苦戰,終於搞定如何處理: 首先,RAILO 3.3.4(註一) 以後因為有支援 cfspreadsheet 指令,所以內建了 POI 套件,但是這個指令僅能處理 XLS 檔案,所以可想而知這個套件是非常陽春的,更不用說要能夠讀取 XLSX 檔案了。

Coldfusion直接讀取/產生Excel檔案 (使用POI元件)

圖片
最近在 Ben Nadel 先生的網站發現他有個Component計畫,他利用 apache.org 的 poi project 來製作一個可以讀寫 EXCEL 檔案的 Component,操作 EXCEL 檔真的蠻方便的。而且 poi project 以處理 office文件為目標,算是很棒的專案。 正在想如何直接透過 Coldfusion 網頁處理客戶的 Excel 檔案時,這真是一大幫助啊! 請先參考相關連結: apache.org 的 poi 計畫 、  apache poi jar下載 Ben Nadel 的 POIUtility 文章出處 、 Ben Nadel 的 POIUtility 專案 我的環境 本人使用 Railo 3.3.4.003 執行 Coldfusion ,所以核心是 Apache 比較沒有問題,至於Adobe的Coldfusion可能要再研究一下 Ben Nadel 的專案了。 1、下載  JAR 檔案 注意下載的 poi jar 版本,由於我使用的 Railo 3.3.4.003版本無法搭配最新的 poi,所以測試到使用  poi-3.0-FINAL.jar 是沒有問題的,太新的反而不能用。 把下載的 jar 放在 Railo Server 路徑下的 \lib\ext 裡面,重新啟動服務即完成掛載。 2、下載 Ben Nedal 的 POIUtility.cfc 假設網頁運行路徑在 \webroot\ 你可接放在 \webroot\ 而我的測試是放在 \webroot\COM 裡面 (我個人習慣Component都是放在COM路徑下) 3-1、測試一:讀取全部 首先,建立一個 Excel 檔案 "測試活頁簿.xls",裡面有3個Sheet 3-1.1、寫一段讀取用的 script: <!--- 建立並初始化POI物件 ---> <cfset POIobj = CreateObject("component","COM.POIUtility").Init() > <!--- 取得我要測試的Excel檔案路徑. ---> <cfset myFile

Railo 免安裝 Server 版

圖片
寫這篇文章的版本是 3.1.1 這裡介紹的是 Server 的 ZIP 版本 ,不是 EXE 版。 因為EXE版在安裝到 Windows 2000 的過程有異常當機情形,而且執行時若RESET次數過多會導致無法再正常啟動,但在 Windows XP 與 Windows 2003 不會,由於未找到原因,所以未了避免過多的問題,所以用ZIP版,操作起來也是蠻好用的。 下載檔案請到 官方下載網站 下載Server版本 railo-3.1.1.000-resin-with-jre-windows.zip (71 MB) 下載的ZIP解壓所後會產生一個資料夾 railo-3.1.1.000-resin-with-windows(下文都會稱此資料夾為 Railo 資料夾),裡面會有相關檔案。

Railo免安裝版-Railo Express

圖片
不知道Railo?先看 這一篇"認識Railo" 。 寫這篇時的版本是 3.1.1 下載 railo-express 的zip壓縮檔後,將它解壓縮。 注意該資料夾下有兩個檔案 start.bat 與 stop.bat ,這是啟動與停止。一般網頁的服務位址阜( port ,也有人說窗口阜)在 80 ,預設的情況下瀏覽器瀏覽網頁時,若不指定port則都是使用 port 80 連線。因為 railo-express 屬於環境測試使用,為了避免與本機上IIS(若有安裝IIS,其預設 port 就是 80)衝突,所以使用了別的 port來啟動服務。它預設的 port 是 8888。 若你想修改啟動 port 位置,請用記事本開啟 server.xml (與 start.bat 同資料夾下),找到底下指令: <Set name="port"> <SystemProperty name="jetty.port" default="8888"/></Set> <Set name="maxIdleTime">30000</Set> <Set name="Acceptors">2</Set> <Set name="confidentialPort">8443</Set>

架設自己的伺服器

好了,來說說怎麼讓CFML怎麼運作吧。 雖然CFML是 ColdFusion 的程式語言,但是ColdFusion現在是 Adobe 的產品之一。跟Adobe打過交道的人都知道,Adobe不好惹啊,而且一般人對它的價碼敬而遠之。所以在台灣用的人真的不多,因為台灣大多是中小企業啊。 介紹一下 Railo 但是學習過CFML的人都了解它是個好物,缺點就是付出的成本較高昂(就是要買一套Adobe ColdFusion)。但國外早期有不少人學CFML,後因Allaire被Adobe收購,原本的使用者因故改轉到PHP上,但是當時的PHP極度不穩定,導致不少損失。因此改尋找新的方案下找到了Railo(聽說當初還是個學生的專題研究,其名稱原是Ryhlo,是星艦迷航StarTreck Enterprise中的一隻外星狗的名字)。 至於認識的人都知道目前也有其他伺服器套件支援CFML如:BlueDragon、Smith等,但是敢號稱比原廠(指Adobe ColdFusion)更快的就不多了。 而Railo是一個伺服器軟體套件,也就是說你的電腦如果沒有安裝IIS之類的服務的話,它可以獨立執行成為一個 Http Server;而如果你有IIS的話,它也有外掛套件,讓你的IIS可以支援CFML的編譯,很重要的是: 它支援 ColdFusion 8 的語法,而且是 商業版 的,而且是 免費 的。 剛看到時,有點不太相信,不過真的是佛心來著的啊... 解決了一直以來,頭痛的版權採購問題。 當然,外面也有課程如 這個 在教學的。 如果要自己動手安裝的話可以去 官方下載網站 先下載較新的版本,裡面有很多版本的選擇。 首先,要注意Railo有兩個版本還有各類作業平台: 一個是 Express 版本,功能與 Server 版相同,這個版本主要是 測試用 ,因為不用安裝,如果你的Server本身有安裝其他服務,怕執行Railo會導致運作不正常的話,可以先用這個版本,這個版本的特點就是它是綠色軟體,解壓縮後可以看到其資料夾中有 Start 與 Stop 兩個批次檔,直接執行Start就可以,但是缺點就是畫面會出現DOS視窗不可以關閉,若關閉DOS視窗會導致服務也關了(正常停止服務要執行STOP那個批次檔) 第二個是 Server 版,這個版本就是會 安裝到se