時刻形式のための、シリアル値の計算、その1 エクセル - java
2014/02/14
excel
java
poi
シリアル値
Javaです。エクセル操作をおこなうためにpoiを使ってたりします。
時刻形式のフォーマットをエクセルファイルの書式で設定して、poiを使ってシリアル値を渡すための計算を模索してたりします。
できてるっぽいです。
結果
参考
以下、コード
package poi;
public class TestSerial {
public static void main(String[] args) {
a();
}
static void a() {
for (int i = 0; i <= 23; i++) {
for (int j = 0; j <= 59; j++) {
String sHH = "" + i;
String sMM = "" + j;
System.out.printf("%d:%d\t%f%n", i, j, toExcelSerial(sHH, sMM));
}
}
}
/**
* 参考<br/>
* http://oshiete.goo.ne.jp/qa/4947261.html <br/>
* 00:00 - 99:99<br/>
* まで計算できるが時間の妥当性と数値チェックはおこなっていません。<br/>
*
* @param sHH
* @param sMM
* @return
*/
static public double toExcelSerial(String sHH, String sMM) {
if (sHH == null || sMM == null)
return 0.;
if (!(sHH.length() <= 2 || sMM.length() <= 2))
return 0.;
double hh = Double.parseDouble(sHH) * (1.0 / 24.0);
double mm = Double.parseDouble(sMM) * (1.0 / 24.0 / 60.0);
return (hh + mm);
}
}
: