2010年4月30日金曜日

ScriptomとPower Pointで線の始点を丸型に設定する

ScriptomとPower Pointで線の始点を丸型に設定するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.*;
import org.codehaus.groovy.scriptom.tlb.office.powerpoint.*;

Scriptom.inApartment
{
ppa = new ActiveXObject("PowerPoint.Application")
ppa.Presentations.Open(new File("test1.pptx").canonicalPath,
Scriptom.MISSING, Scriptom.MISSING, MsoTriState.msoFalse)
// 線を描画する
slide = ppa.Presentations(1).slides(1)
shape = slide.Shapes.AddLine(100, 200, 620, 200)
// 線の色
shape.Line.ForeColor.RGB = 0x0000ff /* BGR*/
// 始点を丸型に設定
shape.Line.BeginArrowheadStyle = MsoArrowheadStyle.msoArrowheadOval
shape.Line.Weight = 10

ppa.Presentations(1).saveAs(new File("test28.pptx").canonicalPath)
ppa.Presentations(1).close()
ppa.quit()
}


元プレゼンテーション(test1.pptx)


出力プレゼンテーション(test28.pptx)
ScriptomとPower Pointで線の始点を丸型に設定したスライド

動作環境
groovy1.7.0, JDK6 Update18, PowerPoint 2007

groovyとApache POIを使用してセルの幅を自動調節する

groovyとApache POIを使用してセルの幅を自動調節するには、以下のコードを実行します。

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.*;

workbook = WorkbookFactory.create(new FileInputStream("test1.xlsx"))
// セルの幅を自動調節する
sheet = workbook.getSheetAt(0)
sheet.getRow(0).getCell(0).setCellValue("セル幅自動調節のテスト文字列")
sheet.autoSizeColumn(0)

workbook.write(new FileOutputStream("test11.xlsx"))


サンプルExcelブック(test1.xlsx)


出力Excel(test11.xlsx)


動作環境
groovy 1.7.0, JDK6 Update18, Apache POI 3.6

2010年4月29日木曜日

groovyとApache POIを使用してセルを連結する

groovyとApache POIを使用してセルを連結するには、以下のコードを実行します。

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.*;

workbook = WorkbookFactory.create(new FileInputStream("test1.xlsx"))
// セルの連結
sheet = workbook.getSheetAt(0)
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 1))

workbook.write(new FileOutputStream("test10.xlsx"))


サンプルExcelブック(test1.xlsx)


出力Excel(test10.xlsx)


動作環境
groovy 1.7.0, JDK6 Update18, Apache POI 3.6

ScriptomとPower Pointで線の始点が塗りつぶされていない矢印形に設定する

ScriptomとPower Pointで線の始点が塗りつぶされていない矢印形に設定するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.*;
import org.codehaus.groovy.scriptom.tlb.office.powerpoint.*;

Scriptom.inApartment
{
ppa = new ActiveXObject("PowerPoint.Application")
ppa.Presentations.Open(new File("test1.pptx").canonicalPath,
Scriptom.MISSING, Scriptom.MISSING, MsoTriState.msoFalse)
// 線を描画する
slide = ppa.Presentations(1).slides(1)
shape = slide.Shapes.AddLine(100, 200, 620, 200)
// 線の色
shape.Line.ForeColor.RGB = 0x0000ff /* BGR*/
// 始点が塗りつぶされていない矢印に設定
shape.Line.BeginArrowheadStyle = MsoArrowheadStyle.msoArrowheadOpen
shape.Line.Weight = 10

ppa.Presentations(1).saveAs(new File("test27.pptx").canonicalPath)
ppa.Presentations(1).close()
ppa.quit()
}


元プレゼンテーション(test1.pptx)


出力プレゼンテーション(test27.pptx)
ScriptomとPower Pointで線の始点が塗りつぶされていない矢印形に設定したスライド

動作環境
groovy1.7.0, JDK6 Update18, PowerPoint 2007

2010年4月28日水曜日

groovyとApache POIを使用してシートを複製する

groovyとApache POIを使用してシートを複製するには、以下のコードを実行します。

import org.apache.poi.ss.usermodel.*;

workbook = WorkbookFactory.create(new FileInputStream("test1.xlsx"))
// シートの複製
sheet = workbook.cloneSheet(0)
workbook.getSheetAt(workbook.getActiveSheetIndex()).setSelected(false)
workbook.setActiveSheet(workbook.getSheetIndex(sheet))

workbook.write(new FileOutputStream("test9.xlsx"))


サンプルExcelブック(test1.xlsx)


出力Excel(test9.xlsx)


動作環境
groovy 1.7.0, JDK6 Update18, Apache POI 3.6

ScriptomとPower Pointで線の始点をダイヤモンド形に設定する

ScriptomとPower Pointで線の始点をダイヤモンド形に設定するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.*;
import org.codehaus.groovy.scriptom.tlb.office.powerpoint.*;

Scriptom.inApartment
{
ppa = new ActiveXObject("PowerPoint.Application")
ppa.Presentations.Open(new File("test1.pptx").canonicalPath,
Scriptom.MISSING, Scriptom.MISSING, MsoTriState.msoFalse)
// 線を描画する
slide = ppa.Presentations(1).slides(1)
shape = slide.Shapes.AddLine(100, 200, 620, 200)
// 線の色
shape.Line.ForeColor.RGB = 0x0000ff /* BGR*/
// 始点をダイヤモンド形に設定
shape.Line.BeginArrowheadStyle = MsoArrowheadStyle.msoArrowheadDiamond
shape.Line.Weight = 10

ppa.Presentations(1).saveAs(new File("test26.pptx").canonicalPath)
ppa.Presentations(1).close()
ppa.quit()
}


元プレゼンテーション(test1.pptx)


出力プレゼンテーション(test26.pptx)
ScriptomとPower Pointで線の始点をダイヤモンド形に設定したスライド

動作環境
groovy1.7.0, JDK6 Update18, PowerPoint 2007

2010年4月27日火曜日

groovyとApache POIを使用してシートを非表示にする

groovyとApache POIを使用してシートを非表示にするには、以下のコードを実行します。

import org.apache.poi.ss.usermodel.*;

workbook = WorkbookFactory.create(new FileInputStream("test1.xlsx"))
// シートを非表示に設定
workbook.setSheetHidden(0, 2)
workbook.setActiveSheet(1)
workbook.write(new FileOutputStream("test8.xlsx"))


サンプルExcelブック(test1.xlsx)


出力Excel(test8.xlsx)


動作環境
groovy 1.7.0, JDK6 Update18, Apache POI 3.6
groovy 1.8.0, JDK6 Update26, Apache POI 3.7

Note
Grabを使用する場合はソースの先頭に以下の行を記述します。
@Grab(group='org.apache.poi', module='poi', version='3.7')

ScriptomとPower Pointで線の始点の矢印の長さを設定する

ScriptomとPower Pointで線の始点の矢印の長さを設定するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.*;
import org.codehaus.groovy.scriptom.tlb.office.powerpoint.*;

Scriptom.inApartment
{
ppa = new ActiveXObject("PowerPoint.Application")
ppa.Presentations.Open(new File("test1.pptx").canonicalPath,
Scriptom.MISSING, Scriptom.MISSING, MsoTriState.msoFalse)
// 線を描画する
slide = ppa.Presentations(1).slides(1)
shape = slide.Shapes.AddLine(100, 200, 620, 200)
// 線の色
shape.Line.ForeColor.RGB = 0x0000ff /* BGR*/
// 始点を矢印に設定
shape.Line.BeginArrowheadStyle = MsoArrowheadStyle.msoArrowheadTriangle
shape.Line.Weight = 10
// 始点の矢印のながさ
shape.Line.BeginArrowheadLength = MsoArrowheadLength.msoArrowheadLong

ppa.Presentations(1).saveAs(new File("test25.pptx").canonicalPath)
ppa.Presentations(1).close()
ppa.quit()
}


元プレゼンテーション(test1.pptx)


出力プレゼンテーション(test25.pptx)
ScriptomとPower Pointで線の始点の矢印の長さを設定したスライド

動作環境
groovy1.7.0, JDK6 Update18, PowerPoint 2007

2010年4月26日月曜日

groovyとApache POIを使用してシート名を変更する

groovyとApache POIを使用してシート名を変更するには、以下のコードを実行します。

import org.apache.poi.ss.usermodel.*;

workbook = WorkbookFactory.create(new FileInputStream("test1.xlsx"))
// シート名を設定
workbook.setSheetName(0, "変更シート名")

workbook.write(new FileOutputStream("test7.xlsx"))


サンプルExcelブック(test1.xlsx)


出力Excel(test7.xls)


動作環境
groovy 1.7.0, JDK6 Update18, Apache POI 3.6
groovy 1.8.0, JDK6 Update26, Apache POI 3.7

Note
Grabを使用する場合はソースの先頭に以下の行を記述します。
@Grab(group='org.apache.poi', module='poi', version='3.7')

ScriptomとPower Pointで線の始点の矢印の幅を設定する

ScriptomとPower Pointで線の始点の矢印の幅を設定するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.*;
import org.codehaus.groovy.scriptom.tlb.office.powerpoint.*;

Scriptom.inApartment
{
ppa = new ActiveXObject("PowerPoint.Application")
ppa.Presentations.Open(new File("test1.pptx").canonicalPath,
Scriptom.MISSING, Scriptom.MISSING, MsoTriState.msoFalse)
// 線を描画する
slide = ppa.Presentations(1).slides(1)
shape = slide.Shapes.AddLine(100, 200, 620, 200)
// 線の色
shape.Line.ForeColor.RGB = 0x0000ff /* BGR*/
// 始点を矢印に設定
shape.Line.BeginArrowheadStyle = MsoArrowheadStyle.msoArrowheadTriangle
shape.Line.Weight = 10
// 始点の矢印の幅
shape.Line.BeginArrowheadWidth = MsoArrowheadWidth.msoArrowheadWide

ppa.Presentations(1).saveAs(new File("test24.pptx").canonicalPath)
ppa.Presentations(1).close()
ppa.quit()
}


元プレゼンテーション(test1.pptx)


出力プレゼンテーション(test24.pptx)
ScriptomとPower Pointで線の始点の矢印の幅を設定したスライド

動作環境
groovy1.7.0, JDK6 Update18, PowerPoint 2007

groovyとApache Commons NetでFTPサーバにファイルをアップロードする

groovyとApache Commons NetでFTPサーバにファイルをアップロードするには、以下のコードを実行します。

import org.apache.commons.net.ftp.*

fis = null
fc = new FTPClient();
try
{
// 接続
fc.connect("192.168.1.1", 21)
if( !FTPReply.isPositiveCompletion(fc.getReplyCode()) ){
throw new Exception("failed to connect.")
}
// ログイン
if( fc.login("user", "password") == false ){
throw new Exception("failed to login.")
}
// エンコーディングの設定
fc.setControlEncoding("UTF-8")

// ファイル転送モードをバイナリに
fc.setFileType(FTP.BINARY_FILE_TYPE)

// ファイルのアップロード
fis = new FileInputStream("./SF.JPG")
if( !fc.storeFile("./SF.JPG", fis) ){
throw new Exception("failed to upload a file.")
}

// ログアウト
fc.logout()
}
finally
{
if( fc.isConnected() ){
fc.disconnect()
}
if( fis != null )fis.close()
}


動作環境
groovy 1.7.1, JDK6 Update19, Apache Commons Net 2.0

2010年4月25日日曜日

groovyとApache POIを使用してシートを削除する

groovyとApache POIを使用してシートを削除するには、以下のコードを実行します。

import org.apache.poi.ss.usermodel.*;

workbook = WorkbookFactory.create(new FileInputStream("test1.xlsx"))
// 3番目と2番目のシートの削除
workbook.removeSheetAt(2)
workbook.removeSheetAt(1)

workbook.write(new FileOutputStream("test6.xlsx"))


サンプルExcelブック(test1.xlsx)


出力Excel(test6.xlsx)


動作環境
groovy 1.7.0, JDK6 Update18, Apache POI 3.6
groovy 1.8.0, JDK6 Update26, Apache POI 3.7

Note
Grabを使用する場合はソースの先頭に以下の行を記述します。
@Grab(group='org.apache.poi', module='poi', version='3.7')

ScriptomとPower Pointで線の始点に矢印を設定する

ScriptomとPower Pointで線の始点に矢印を設定するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.*;
import org.codehaus.groovy.scriptom.tlb.office.powerpoint.*;

Scriptom.inApartment
{
ppa = new ActiveXObject("PowerPoint.Application")
ppa.Presentations.Open(new File("test1.pptx").canonicalPath,
Scriptom.MISSING, Scriptom.MISSING, MsoTriState.msoFalse)
// 線を描画する
slide = ppa.Presentations(1).slides(1)
shape = slide.Shapes.AddLine(100, 200, 620, 200)
// 線の色
shape.Line.ForeColor.RGB = 0x0000ff /* BGR*/
// 始点を矢印
shape.Line.BeginArrowheadStyle = MsoArrowheadStyle.msoArrowheadTriangle
shape.Line.Weight = 10


ppa.Presentations(1).saveAs(new File("test23.pptx").canonicalPath)
ppa.Presentations(1).close()
ppa.quit()
}


元プレゼンテーション(test1.pptx)


出力プレゼンテーション(test23.pptx)
ScriptomとPower Pointで線の始点に矢印を設定したスライド

動作環境
groovy1.7.0, JDK6 Update18, PowerPoint 2007

groovyとApache Commons VFSでRAMファイルシステム上にファイルをコピーする

groovyとApache Commons VFSでRAMファイルシステム上にファイルをコピーするには、以下のコードを実行します。

import org.apache.commons.vfs.*

fsm = VFS.getManager()
fos = fsm.resolveFile("C:\\share\\commons-vfs\\test.txt")
fot = fsm.resolveFile( "ram://test.txt")

// RAM file systemにファイルをコピー
fot.copyFrom(fos, new AllFileSelector())

// RAM file systemから読み込み
br = new BufferedReader(new InputStreamReader(
fot.getContent().getInputStream()))
while((line = br.readLine()) != null){
println line
}



動作環境
groovy 1.7.1, JDK6 Update19, apache commons vfs 1.0, apache commons logging 1.1.1

2010年4月24日土曜日

groovyとApache POIを使用してブックのはじめにシートを追加する

groovyとApache POIを使用してブックのはじめにシートを追加するには、以下のコードを実行します。

import org.apache.poi.ss.usermodel.*;

workbook = WorkbookFactory.create(new FileInputStream("test1.xlsx"))
// ブックの初めにシートの追加
sheetName = "追加シート"
sheet = workbook.createSheet(sheetName)
sheet.createRow(0).createCell(0).setCellValue("追加シート")
// 作成したシートを一番最初に設定
workbook.setSheetOrder(sheetName, 0)
// 追加したシートをアクティブに設定
workbook.setActiveSheet(workbook.getSheetIndex(sheet))

workbook.write(new FileOutputStream("test5.xlsx"))


サンプルExcelブック(test1.xlsx)


出力Excel(test5.xlsx)
groovyとApache POIを使用してブックのはじめにシートを追加した結果

動作環境
groovy 1.7.0, JDK6 Update18, Apache POI 3.6
groovy 1.8.0, JDK6 Update26, Apache POI 3.7

Note
Grabを使用する場合はソースの先頭に以下の行を記述します。
@Grab(group='org.apache.poi', module='poi', version='3.7')

ScriptomとPower Pointで四角点線を描画する

ScriptomとPower Pointで四角点線を描画するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.*;
import org.codehaus.groovy.scriptom.tlb.office.powerpoint.*;

Scriptom.inApartment
{
ppa = new ActiveXObject("PowerPoint.Application")
ppa.Presentations.Open(new File("test1.pptx").canonicalPath,
Scriptom.MISSING, Scriptom.MISSING, MsoTriState.msoFalse)
// 線を描画する
slide = ppa.Presentations(1).slides(1)
shape = slide.Shapes.AddLine(0, 200, 720, 200)
// 線の色
shape.Line.ForeColor.RGB = 0x0000ff /* BGR*/
// 四角点線
shape.Line.DashStyle = MsoLineDashStyle.msoLineSquareDot
shape.Line.Weight = 10


ppa.Presentations(1).saveAs(new File("test22.pptx").canonicalPath)
ppa.Presentations(1).close()
ppa.quit()
}


元プレゼンテーション(test1.pptx)


出力プレゼンテーション(test22.pptx)
ScriptomとPower Pointで四角点線を描画したスライド

動作環境
groovy1.7.0, JDK6 Update18, PowerPoint 2007

2010年4月23日金曜日

groovyとApache POIを使用してシートを追加する

groovyとApache POIを使用してシートを追加するには、以下のコードを実行します。

import org.apache.poi.ss.usermodel.*;

workbook = WorkbookFactory.create(new FileInputStream("test1.xlsx"))
// シートの追加
sheet = workbook.createSheet("追加シート")
sheet.createRow(0).createCell(0).setCellValue("追加シート")
// 追加したシートをアクティブに設定
workbook.setActiveSheet(workbook.getSheetIndex(sheet))

workbook.write(new FileOutputStream("test4.xlsx"))


サンプルExcelブック(test1.xlsx)


出力Excel(test4.xlsx)


動作環境
groovy 1.7.0, JDK6 Update18, Apache POI 3.6
groovy 1.8.0, JDK6 Update26, Apache POI 3.7

Note
Grabを使用する場合はソースの先頭に以下の行を記述します。
@Grab(group='org.apache.poi', module='poi', version='3.7')


ScriptomとPower Pointで丸点線を描画する

ScriptomとPower Pointで丸点線を描画するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.*;
import org.codehaus.groovy.scriptom.tlb.office.powerpoint.*;

Scriptom.inApartment
{
ppa = new ActiveXObject("PowerPoint.Application")
ppa.Presentations.Open(new File("test1.pptx").canonicalPath,
Scriptom.MISSING, Scriptom.MISSING, MsoTriState.msoFalse)
// 線を描画する
slide = ppa.Presentations(1).slides(1)
shape = slide.Shapes.AddLine(0, 200, 720, 200)
// 線の色
shape.Line.ForeColor.RGB = 0x0000ff /* BGR*/
// 丸点線
shape.Line.DashStyle = MsoLineDashStyle.msoLineRoundDot
shape.Line.Weight = 10


ppa.Presentations(1).saveAs(new File("test21.pptx").canonicalPath)
ppa.Presentations(1).close()
ppa.quit()
}


元プレゼンテーション(test1.pptx)


出力プレゼンテーション(test21.pptx)
ScriptomとPower Pointで丸点線を描画したスライド

動作環境
groovy1.7.0, JDK6 Update18, PowerPoint 2007