日々常々

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

2010-01-01から1年間の記事一覧

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 …

ネーミングの掟と極意

ネーミングの掟と極意 (エンジニア道場)作者: 開米瑞浩出版社/メーカー: 翔泳社発売日: 2007/11/06メディア: 単行本(ソフトカバー)購入: 8人 クリック: 81回この商品を含むブログ (36件) を見るネーミング専門に扱った本。ネーミングと言っても、クラス名…

テーブル名変更時のエラー

テーブル定義を変えたい時はALTER TABLEを使用します。テーブル名を変更したい時は以下のようにします。 ALTER TABLE <変更前テーブル名> RENAME TO <変更後テーブル名> やってみましょう。 SQL> ALTER TABLE WORK.TEST_TABLE RENAME TO WORK.TEST_TABLE…

Oracle10gXEでファイル出力

UTL_FILEでファイル出力しようとしたら失敗したので。 UTL_FILEが使えない [row:xx,col:xx] ORA-06550: 行xx、列xx: PLS-00201: 識別子UTL_FILEを宣言してください。 ORA-06550: 行xx、列xx: PL/SQL: Item ignored (以下略)SYS.UTL_FILEに対するEXECUTE権限…

PL/SQL処理結果出力方法とかかる時間の目安

PL/SQLの処理結果を出力する方法となると、DBMS_OUTPUTで出力したり、UTL_FILEで出力したり、結果テーブルを作成してINSERTしたりとあるような無いような。結果がCSV形式で必要なら、TABLEにINSERTするかUTL_FILEを使う事になると思う。それぞれのやり方でど…

郵便を宅配ボックスに入れてもらうために

<追記 時間="2017-01-25T12:05"> このエントリは2010年1月の話であり、現在の事実とは異なっている可能性があります。 </追記>「指定場所配達に関する依頼書」と言うものを郵便局の窓口に提出したら、宅配ボックスに入れてくれるようになると言うことで…

テーブルのデータをCSV出力する

2020-07-10追記: Oracleの話です。あと2010年に書いたものです。 力技そのいち SQL*Plusの列区切り文字を「,」にする。 利点は、なんといっても手軽さ。 欠点 可変長項目が固定長になってしまう。 その為NULLとスペース埋めや、末尾スペースの存在等が判別不…

テーブルのデータをCSV出力する(SQLを作るSQL)

これは試行錯誤の途中経過です。まとめ→http://d.hatena.ne.jp/irof/20100108/p2 - PL/SQLは嫌だとか、古いバージョンで使えないとか、ネットワークから隔離されているとかの逃げ道に、SQLを作るSQLを発行して、作ったSQLを発行する手があります。1テーブル…

テーブルのデータをCSV出力する(PL/SQLでやってみる)

これは試行錯誤の途中経過です。まとめ→http://d.hatena.ne.jp/irof/20100108/p2 - 「余計なスペースが入って欲しくない場合」かつ「対象テーブルまたは列が沢山ある場合」で、力技なんてやってられない場合のやり方。この場合は、諦めて出力するツールを使…

テーブルのデータをCSV出力する(力技そのに)

これは試行錯誤の途中経過です。まとめ→http://d.hatena.ne.jp/irof/20100108/p2 - 「余計なスペースが入って欲しくない場合」の少々面倒なもの。取得したい列名が判っている必要があります。単純に文字列「,」で繋げてしまうだけなんですが。 set pages 0 s…

テーブルのデータをCSV出力する(力技そのいち)

これは試行錯誤の途中経過です。まとめ→http://d.hatena.ne.jp/irof/20100108/p2 - 使うのはSQL*Plusのみ。便利なツールは色々あるけれども、いつでも使えると言うわけではないので。 はじめに、「データが確認出来れば良い場合」に適した、最も単純なもの。…