今回はSAXによるExcel読み込みをやります。 Excelファイル(.xlsx)は、実はXMLファイルなどを圧縮したファイルです (拡張子を.zipに変更すると解凍できます)。 このXMLファイルを直接読み込んでみます。 XMLファイルを取り扱うにはDOMとSAXの方式があります。 DOMはまず全体を読み込み、その後にアクセスしたいデータの場所を指定してアクセスします。 SAXはファイルを読み込みながら、要素の開始、終了などのイベントごとにメソッドが呼ばれ、該当する要素が読み込まれたときに処理を 行うことができます。 今回のサンプルはXMLを読み込みながら、セル情報をマップに入れて全部読み終わった後にマップに対し処理を行っています。 本来の使い方ではないかもしれませんが、それでもメモリ消費量はDOMより少なくなっていました。 環境構築はExcel出力を参照して下さい。 サンプル Exce
Capabilities This release of the how-to outlines functionality for the current svn trunk. Those looking for information on previous releases should look in the documentation distributed with that release. HSSF allows numeric, string, date or formula cell values to be written to or read from an XLS file. Also in this release is row and column sizing, cell styling (bold, italics, borders,etc), and s
(この記事は2010年7月31日に投稿したものの再掲です) Apache POIのHSSF/XSSFを使用して、まっさらの状態からExcelのワークシートを作っていくことを考えてみます。 例えば、ワークシートを新規作成してセルA1に何か値を設定する場合、次のようなコードを書くことになります。 Workbook workbook = new HSSFWorkbook(); Sheet sheet = workbook.createSheet(); Row row = sheet.createRow(0); Cell cell = row.createCell(0); cell.setCellValue(...); ... 別段、何の問題もないコードです。ただし、設定するデータが日付でなければの話ですが。 日付の場合、JavaではDateクラスやJSR-310のLocalDateクラスなどにな
丸岡孝司 定価:2,940円(本体2,800円+税5%) ISBN978-4-89977-308-5 B5変形判/1色刷364ページ 発売日:2012.02.25 Apache POIとはMicrosoft ExcelやWordなどOffice製品が取り扱うOLE2複合ドキュメントをJavaから操作するためのクラスライブラリです。 たとえば、UNIXやLinux環境下でPHPとJavaを連携させてExcel帳票システムを操作する場合などで使われます。 本書では、ビジネスでの用途が多いExcelに特化し、POIでExcelドキュメント作成の自動化をどこまでできるかを「〜したい時にはどうするか」という、逆引きスタイルで多数の実例を用いて解説します。 さらに一歩踏み込んで、POIの機能不足を補うカスタマイズの例、くわえて、日々のExcel業務効率化のために各種スクリプト言語でのPOIの利用に
お知らせ ExcellaのリポジトリはGitHubへ移行しました。 最新の情報はこちらをご覧ください https://excella-core.github.io/ コンセプト Excelは様々なシステムのフロントエンド・バックエンドで利用されるようになってきました。 またExcel2007では、扱えるデータ件数の増加、ピボットテーブル/ピボットグラフの機能の充実などが行われ、今後より多くのシーンでの利用が予想されます。 一方、JavaからExcelを操作するには POIやJava Excel APIなどの低レベルのAPIを利用するのが一般的ですが、 これらのAPIを利用してExcelを操作するには多くのコーディングをする必要があり、Excelのバージョンの違いにも悩まされます。 このような問題を解決する目的で作られたのがExCellaです。 ExCellaでは、ベースとなるフレームワーク
Office2007に対応した(らしい)、POIの3.5-FINALが出ましたよ。これで1,048,576件まで表示できるぞ〜。 が。 毎度ですが、結構変わってます。 Region関連パッケージが変更 セルの範囲を管理する(マージとか)Region周りのパッケージが変更になりました。この変更は地味にでかい・・・。 (旧)org.apache.poi.hssf.util (新)org.apache.poi.ss.util 一応古いクラスも非推奨で残ってはいるんですが、取得するメソッドがないのでどうする事も出来ない。もうちょっと移行パスを考慮して戴きたかった所ではある。 本当はFisshplateも早く3.5対応したかったのですが、これのおかげでずっと保留でした。0.2.0からこっちにします。なので、0.1.xとは互換性がなくなっちゃいます・・・。 HSSFCell#getRitchStrin
「POIを使用してJavaからExcel出力を行う」では、POIを使用した基本的なExcelファイルの出力方法について紹介しました。しかし、せっかくExcelファイルとして出力するなら、単純な出力だけではなく、色を変えたり、けい線を引いたりして見栄えの良い書式で出力できなければ、そのメリットは半減してしまいます。そこで、今回はPOIを使用して、下のようなセル書式を変更したExcelファイルを出力する方法を紹介します。 package to.msn.wings; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.hssf.util.HSSFColor; public class PoiSample2 { public static void main(S
表形式のデータ保存には、CSV形式のテキストファイルを用いるのが一般的です。しかし、用途によっては、Microsoft Excelで作成したような見栄えの良い表形式での出力を求められることがあります。 そこで、本稿では「POI」と呼ばれるJavaのライブラリを使用して、Excelファイルを出力する方法を紹介します。POIは、ExcelやWordなどの「Microsoft OLE 2複合ドキュメント形式」に準拠したファイルをJavaで扱うためのAPI群です。ここでは、POIの中でExcel出力を行う「HSSF」と呼ばれるコンポーネントを使用する例を紹介します。 package to.msn.wings; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apa
データ入力を行うには、Webブラウザや専用のGUI画面を使用することが一般的ですが、用途によっては、Microsoft Excelで作成したファイルからデータの読み込みを求められることがあります。そこで、本稿では「POI」を使用して、Excelファイルを読み込む方法を紹介します。なお、POIの基本については、「POIを使用してJavaからExcel出力を行う」をご覧ください。 今回は、Excelファイルを読み込み合計値を出力するというサンプルを実行します。 package to.msn.wings; import java.io.FileInputStream; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.poi.hssf.usermodel.*; import org.apache
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く