日々常々

ふつうのプログラマがあたりまえにしたいこと。

2010-03-01から1ヶ月間の記事一覧

コーディングの掟

コーディングの掟(最強作法) 現場でよく見る不可解なJavaコードを一掃せよ! (開発の現場セレクション)作者: arton,宇野るいも出版社/メーカー: 翔泳社発売日: 2008/09/18メディア: 単行本(ソフトカバー)購入: 29人 クリック: 348回この商品を含むブログ (5…

POIを使ってみる/「表示形式の設定が失われた可能性があります」

POI

POI(3.6)で作成したファイルをExcelで開いた際に「表示形式の設定が失われた可能性があります」というダイアログが表示されました。 直接の原因は、ファイルに定義されている表示形式の数が多すぎることにあるようです。表示形式はHSSFCellStyle#getDataForm…

CleanCode

Clean Code アジャイルソフトウェア達人の技作者: Robert C. Martin,花井志生出版社/メーカー: アスキー・メディアワークス発売日: 2009/05/28メディア: 大型本購入: 27人 クリック: 914回この商品を含むブログ (80件) を見るタイトルの辺りにはJavaとは書い…

POIを使ってみる/Workbook間コピー

POI

Excelの操作にてシートの移動で別のWorkbookを指定するような処理について。POIのバージョンは3.6です。同じWorkbook内でのコピーは比較的単純に出来ます。これに対し、異なるWorkbook間でのコピーはそこそこに手間がかかります。単純に思いつくやり方でやっ…

POIを使ってみる/横幅の設定

POI

横道に逸れてセルというか行の横幅について。POIのバージョンは3.6です。横幅はSheetに設定され、横幅は Sheet#getColumnWidth で取得できます。問題となるのは、この際に取得できる値が何なのかという点。JavaDocには以下のように書かれているので、取得で…

POIを使ってみる/セルのコピー

POI

POIのバージョンは3.6です。 値、書式と出したのでセルおよび行のコピーが出来るようになりました。やり方は想像通り、コピーしたいセルのある対象のシートから、セルの値と書式を取り出して、コピー先のセルに設定していくだけ。とりあえずこの場合、対象の…

POIを使ってみる/値の扱い

POI

書式の前に値だと思うんだけど、順番はきにしないでください。記事がたまったら整理するかも。バージョンは3.6です。値というとvalueなんで、そのままsetValueやgetValueで扱えそうなものなんですが、そうも行きません。ExcelVBAでは、大抵の値はRange.Value…

Excelファイルの全シートから値を引っ張り出す

POI

何となくやってみたかったので。 ネタ的に使えそうなのは、SheetがIterableであり、RowがIterableであること。と言う事で、Sheetにある全てのCellを対象にしたい場合は、拡張for文を2つ重ねればいいのですっと。 import java.io.FileInputStream; import org…

POIを使ってみる/書式の扱い

POI

いろんな基本的なことはすっ飛ばして、書式について書くことにします。バージョンは3.6で。 書式というと、表計算ソフトとしては数値のフォーマットが最重要のはずなのですが、現在日本でExcelが使われる中では、フォーマットより、フォント(サイズや色も含…

POIを使ってみる/概要

POI

JavaからExcelファイルを操作するにはいくつか方法がありますが、POIを使う機会に恵まれたのでつらつらと書いてみようと思います。とりあえず今回は概要レベルで。 現在の最新版は3.6です。日本語ドキュメントは3.0で止まってたりするけど、使い方程度なら差…

実行計画の権限

autotraceを実行しようとして次のエラーが発生する場合は、メッセージが示すとおり権限不足。 SQL> set autotrace on SP2-0618: セッション識別子が見つかりません。PLUSTRACEロールが有効かを確認してください。 SP2-0611: STATISTICSレポートを使用可能に…

実行計画の取り方

SQL*Plusで実行計画をとるには、単純にautotraceをonにする。 set autotrace onこれ以降実行したSQLは、SQLの結果と実行計画と統計情報が出る。 でも実行計画をとるときって、結果は要らない事が多い。その時はonの代わりに traceonly またはその省略形の tr…

NVLでエラー(ORA-06502: PL/SQL: 数値または値のエラー:)が発生する

環境はOracle10gXEです。 数値項目がNULLか判定し、NULLだった場合に「NULL」という文字列に置き換えて出力したい時に、単純にNVLを使うとエラーになります。以下は例。 SQL> DECLARE 2 VNUM NUMBER; 3 BEGIN 4 DBMS_OUTPUT.PUT_LINE(NVL(VNUM, 'NULL')); 5 …