2010年3月5日金曜日

groovyとJExcelAPIを使用してセルに数値を設定する

groovyとJExcelAPIを使用してセルに数値を設定するには、以下のコードを実行します。


import jxl.*;
import jxl.write.*;

workbook = Workbook.createWorkbook(
new File("test3.xls"),
Workbook.getWorkbook(new File("test1.xls"))
)
sheet = workbook.getSheet(0)
sheet.addCell( new Number(2, 0, 20.5))
workbook.write()
workbook.close()


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


出力Excel(test3.xls)


動作環境
groovy 1.7.0, JDK6 Upadate18, JExcelAPI 2.6.12

2010年3月4日木曜日

groovyとJExcelAPIを使用してセルに文字列を設定する

groovyとJExcelAPIを使用してセルに文字列を設定するには、以下のコードを実行します。


import jxl.*;
import jxl.write.*;

workbook = Workbook.createWorkbook(
new File("test2.xls"),
Workbook.getWorkbook(new File("test1.xls"))
)
sheet = workbook.getSheet(0)
sheet.addCell( new Label(2, 0, "例"))

workbook.write()
workbook.close()


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


出力Excel(test2.xls)


動作環境
groovy 1.7.0, JDK6 Upadate18, JExcelAPI 2.6.12

2010年3月3日水曜日

groovyとJExcelAPIを使用してセルの値を表示する

groovyとJExcelAPIを使用してセルの値を表示するには、以下のコードを実行します。


import jxl.*;

workbook = Workbook.getWorkbook(
new File("test1.xls"))
sheet = workbook.getSheet(0)
// セルA1の表示
println sheet.getCell(0, 0).getContents()
// セルB1の表示
println sheet.getCell(1, 0).getContents()
workbook.close()


実行結果
Sample
サンプル


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


動作環境
groovy 1.7.0, JDK6 Upadate18, JExcelAPI 2.6.12

2010年3月2日火曜日

groovyとJFreeChartでローソク足グラフで下限値を設定する

groovyとJFreeChartでローソク足グラフで下限値を設定するには、以下のコードを実行します。

import org.jfree.chart.*
import org.jfree.chart.plot.*
import org.jfree.data.xy.*

dohlcds = new DefaultOHLCDataset("A社",
[
new OHLCDataItem(
(new GregorianCalendar(2009,10,1)).time,
1100, // open
1200, // high
1000, // low
1150, // close
100 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,2)).time,
1140, // open
1250, // high
1010, // low
1020, // close
110 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,3)).time,
1020, // open
1280, // high
1040, // low
1190, // close
90 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,4)).time,
1200, // open
1340, // high
1140, // low
1330, // close
150 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,5)).time,
1320, // open
1440, // high
1300, // low
1470, // close
250 // volume
)
] as OHLCDataItem[])




jfc = ChartFactory.createCandlestickChart(
"株価推移",
"日付",
"株価",
dohlcds,
false)

// 時間のフォーマット
jfc.getPlot().getDomainAxis().setDateFormatOverride(
new java.text.SimpleDateFormat("MM/dd")
)
// volumeを非表示に
jfc.getPlot().getRenderer().setDrawVolume(false)
// 下限値
jfc.getPlot().getRangeAxis().setLowerBound(1000)

ChartUtilities.saveChartAsPNG(
new File("./candlestick-chart-lower.png"), jfc, 300, 200)


出力画像(candlestick-chart-lower.png)


動作環境
JDK1.6 Update 15, groovy 1.6.3, JFreeChart1.0.13, JCommon1.0.16

2010年3月1日月曜日

groovyとJFreeChartでローソク足グラフで取引量を非表示にする

groovyとJFreeChartでローソク足グラフで取引量を非表示にするには、以下のコードを実行します。

import org.jfree.chart.*
import org.jfree.chart.plot.*
import org.jfree.data.xy.*

dohlcds = new DefaultOHLCDataset("A社",
[
new OHLCDataItem(
(new GregorianCalendar(2009,10,1)).time,
1100, // open
1200, // high
1000, // low
1150, // close
100 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,2)).time,
1140, // open
1250, // high
1010, // low
1020, // close
110 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,3)).time,
1020, // open
1280, // high
1040, // low
1190, // close
90 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,4)).time,
1200, // open
1340, // high
1140, // low
1330, // close
150 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,5)).time,
1320, // open
1440, // high
1300, // low
1470, // close
250 // volume
)
] as OHLCDataItem[])




jfc = ChartFactory.createCandlestickChart(
"株価推移",
"日付",
"株価",
dohlcds,
false)

// 時間のフォーマット
jfc.getPlot().getDomainAxis().setDateFormatOverride(
new java.text.SimpleDateFormat("MM/dd")
)
// volumeを非表示に
jfc.getPlot().getRenderer().setDrawVolume(false)

ChartUtilities.saveChartAsPNG(
new File("./candlestick-chart-wo-volume.png"), jfc, 300, 200)


出力画像(candlestick-chart-wo-volume.png)


動作環境
JDK1.6 Update 15, groovy 1.6.3, JFreeChart1.0.13, JCommon1.0.16

2010年2月28日日曜日

groovyとJFreeChartでローソク足グラフの枠の色を変更する

groovyとJFreeChartでローソク足グラフの枠の色を変更するには、以下のコードを実行します。

import org.jfree.chart.*
import org.jfree.chart.plot.*
import org.jfree.data.xy.*

dohlcds = new DefaultOHLCDataset("A社",
[
new OHLCDataItem(
(new GregorianCalendar(2009,10,1)).time,
1100, // open
1200, // high
1000, // low
1150, // close
100 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,2)).time,
1140, // open
1250, // high
1010, // low
1020, // close
110 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,3)).time,
1020, // open
1280, // high
1040, // low
1190, // close
90 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,4)).time,
1200, // open
1340, // high
1140, // low
1330, // close
150 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,5)).time,
1320, // open
1440, // high
1300, // low
1470, // close
250 // volume
)
] as OHLCDataItem[])




jfc = ChartFactory.createCandlestickChart(
"株価推移",
"日付",
"株価",
dohlcds,
false)

// 時間のフォーマット
jfc.getPlot().getDomainAxis().setDateFormatOverride(
new java.text.SimpleDateFormat("MM/dd")
)
// アウトラインの色
jfc.getPlot().getRenderer().setUseOutlinePaint(true)
jfc.getPlot().getRenderer().setBaseOutlinePaint(
new java.awt.Color(0x22, 0x44, 0xff)
)

ChartUtilities.saveChartAsPNG(
new File("./candlestick-chart-color-outline.png"), jfc, 300, 200)


出力画像(candlestick-chart-color-outline.png)


動作環境
JDK1.6 Update 15, groovy 1.6.3, JFreeChart1.0.13, JCommon1.0.16

2010年2月27日土曜日

groovyとJFreeChartでローソク足グラフの上昇時・下降時の色を設定する

groovyとJFreeChartでローソク足グラフの上昇時・下降時の色を設定するには、以下のコードを実行します。

import org.jfree.chart.*
import org.jfree.chart.plot.*
import org.jfree.data.xy.*

dohlcds = new DefaultOHLCDataset("A社",
[
new OHLCDataItem(
(new GregorianCalendar(2009,10,1)).time,
1100, // open
1200, // high
1000, // low
1150, // close
100 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,2)).time,
1140, // open
1250, // high
1010, // low
1020, // close
110 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,3)).time,
1020, // open
1280, // high
1040, // low
1190, // close
90 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,4)).time,
1200, // open
1340, // high
1140, // low
1330, // close
150 // volume
),
new OHLCDataItem(
(new GregorianCalendar(2009,10,5)).time,
1320, // open
1440, // high
1300, // low
1470, // close
250 // volume
)
] as OHLCDataItem[])




jfc = ChartFactory.createCandlestickChart(
"株価推移",
"日付",
"株価",
dohlcds,
false)

// 時間のフォーマット
jfc.getPlot().getDomainAxis().setDateFormatOverride(
new java.text.SimpleDateFormat("MM/dd")
)
// 上昇時の色
jfc.getPlot().getRenderer().setUpPaint(
new java.awt.Color(0x77, 0x99, 0xdd)
)
// 下落時の色
jfc.getPlot().getRenderer().setDownPaint(
new java.awt.Color(0xdd, 0x99, 0x77)
)

ChartUtilities.saveChartAsPNG(
new File("./candlestick-chart-color-updown.png"), jfc, 300, 200)


出力画像(candlestick-chart-color-updown.png)


動作環境
JDK1.6 Update 15, groovy 1.6.3, JFreeChart1.0.13, JCommon1.0.16