Archive for the 'JXLS' Category

2015/10/08 Excelデータを組み立てて書き出し(フォント指定、カラー指定)

オープンソースのExcelデータ書き出しフレームワーク「JXLS」(By David Hoerl)を利用して、Excelのない環境でもExcelデータを作成するAppleScriptです。

デフォルトのままではあまりにも味気なかったので、フォント名、フォントサイズ、カラーを指定してみたものです。

サンプルがほとんど存在していないので手探り状態でしたが、なんとかなりました。

OS XのFinder上でもXLSファイルのプレビュー機能があるため、類似のフレームワークはOS X自体に搭載していそうです(というより、機能があるからプレビューできているんでしょう)。

xls.png

AppleScript名:ASOCでExcelファイル生成テスト v2
– Created 2015-10-08 by Takaaki Naganoya
– 2015 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “JXLS”

set aFile to POSIX path of (choose file name)
set filePath to current application’s NSString’s stringWithString:aFile

set workBook to current application’s JXLSWorkBook’s new()
set workSheet to workBook’s workSheetWithName:“ぴよぴよシート”
workSheet’s setWidth:1000 forColumn:0 defaultFormat:(missing value)

repeat with i from 0 to 64
  set aCell to (workSheet’s setCellAtRow:i column:0 toString:(current application’s NSString’s stringWithString:(“ぴよまる “ & (i as text))))
  (
aCell’s setFontName:“HiraKakuStd-W8″)
  (
aCell’s setFontHeight:320) –this is point * 20
  (
aCell’s setFontColorIndex:i)
end repeat

workBook’s writeToFile:filePath

★Click Here to Open This Script 

2015/10/08 Excelデータを組み立てて書き出し

オープンソースのExcelデータ書き出しフレームワーク「JXLS」(By David Hoerl)を利用して、Excelのない環境でもExcelデータを作成するAppleScriptです。

正直、Excelデータを書き出せるNumbers.appがあるので、そこまで頑張らなくてもよさそうな気配がしていますが、たまたま「Excelデータを読むフレームワーク」を探していたら見つけたものです(読み込む方は、iOS用のみだったという)。

無人島に流されてExcelがない極限環境であっても、AppleScriptだけでExcelデータを生成できます。

何も考えずに、サンプル中に書かれていたObjective-CのプログラムをAppleScriptで再現してみたものですが、出来上がったExcel書類(のフォント)がちょっと気持ち悪いです。フォントについては、しかるべきもの(ヒラギノとか)を指定する必要性を感じます。

excel1.png

OS X 10.10以降用にビルドしたJXLSフレームワークを置いておきます。興味のある方はお試しください(~/Library/Frameworks/にインストール)。

→ Download Framework (Binary)

AppleScript名:ASOCでExcelファイル生成テスト
– Created 2015-10-08 by Takaaki Naganoya
– 2015 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “JXLS”

set aFile to POSIX path of (choose file name)
set filePath to current application’s NSString’s stringWithString:aFile

set workBook to current application’s JXLSWorkBook’s new()

set workSheet to workBook’s workSheetWithName:“ぴよぴよシート”
workSheet’s setWidth:1000 forColumn:0 defaultFormat:(missing value)

repeat with i from 0 to 10
  set aCell to (workSheet’s setCellAtRow:i column:0 toString:(current application’s NSString’s stringWithFormat_(“ぴよまる %d”, i + 1)))
  (
aCell’s setHorizontalAlignment:1) —-HALIGN_LEFT
  (
aCell’s setIndentation:(0 + i)) —– INDENT_0
end repeat

workBook’s writeToFile:filePath

★Click Here to Open This Script