Java Excel API(書き込み機能(1))

转载 2012年03月25日 22:47:38
開始/終了処理

jxl.Workbookのメソッドを使用します。

新規にExcelファイルを作成する。
java.io.Fileインスタンスから作成する。
File excelFile = new File("path/to/excel.xls");
jxl.write.WritableWorkbook workbook = Workbook.createWorkbook(excelFile);


java.io.OutputStreamインスタンスから作成する。
OutputStream output = new java.io.FileOutputStream("path/to/excel.xls");
jxl.write.WritableWorkbook workbook = Workbook.createWorkbook(output);


既存のExcelファイルから操作用ファイルを作成する。
java.io.Fileインスタンスから作成する。
// 既存のExcelファイルを読み込む
File originalExcelFile = new File("path/to/original/excel.xls");
jxl.Workbook originalExcel = Workbook.getWorkbook(originalWorkbook);
// 新規作成ファイル用Fileインスタンスを生成
File newExcelFile = new File("path/to/new/excel.xls");
// 書き込み用インスタンスを生成
jxl.write.WritableWorkbook workbook =
Workbook.createWorkbook(newExcelFile, originalExcel);


java.io.OutputStreamインスタンスから作成する。
// 既存のExcelファイルを読み込む
File originalExcelFile = new File("path/to/original/excel.xls");
jxl.Workbook originalExcel = Workbook.getWorkbook(originalWorkbook);
// 新規作成ファイル用OutputStreamインスタンスを生成
OutputStream output =
new java.io.FileOutputStream("path/to/new/excel.xls");
// 書き込み用インスタンスを生成
jxl.write.WritableWorkbook workbook =
Workbook.createWorkbook(output, originalExcel);


保存してExcelファイルの操作を終了する。
// 書き込み用にインスタンスを生成
File excelFile = new File("path/to/excel.xls");
jxl.write.WritableWorkbook workbook = Workbook.createWorkbook(excelFile);

/*
* 書き込み処理
*/

// 内容を保存
workbook.write();
// 終了
workbook.close();



ワークブックの操作

jxl.writeWritableWorkbookを使用します。
以下変数workbookをWritableWorkbookのインスタンスとします。

ワークブック内のシート数を確認する。
int count = workbook.getNumberOfSheets();


内容を書き込むためにシートのインスタンスを取得する。
// インデックスを指定して取得する
int index = 0;
jxl.write.WritableSheet sheetByIndex = workbook.getSheet(index);

// シート名を指定して取得する
String sheetName = "Sheet1";
jxl.write.WritableSheet sheetByName = workbook.getSheet(sheetName);

// 全てのシートを取得する
jxl.write.WritableSheet[] sheets = workbook.getSheets();


※ シートの操作はこちらを参照してください。

既存のシートの内容を別シートにコピーする。

コピー対象のシートをインデックスで指定
// 1シート目の内容を3シート目にコピーする。名称を変更
workbook.copySheet(0, "コピーされたシート", 2);


コピー対象のシートを名前で指定
// シート名「Sheet1」の内容を3シート目にコピーする。名称を変更
workbook.copySheet("Sheet1", "コピーされたシート", 2);


ワークブック内に新規シートを作成する。
// 2シート目に新規シートを作成する
jxl.write.WritableSheet newSheet = workbook.createSheet("newSheet", 1);


シートの順序を変更する。
// 1シート目のシートを3シート目に移動する
jxl.write.WritableSheet movedSheet = workbook.moveSheet(0, 2);


シートを削除する。
// 1シート目を削除する。
workbook.removeSheet(0);


登録された名前定義を取得する。
※ 「挿入->名前->定義」で登録された名前定義名称を取得します。
String[] rangeNames = workbook.getRangeNames();


名前定義されたセル範囲を取得する。
String rangeName = "area1";
Range[] ranges = workbook.findByName(rangeName);

※ 取得できたセル範囲に対する書き込みはできません。

シートの操作

jxl.write.WritableSheetを使用します。
WritableSheetインスタンスの取得はこちらを参照してください。
以下変数sheetをWritableSheetのインスタンスとします。


シート名を設定する。
String sheetName = "Sheet1";
sheet.setName(sheetName);


シートに行を追加する。
10行追加する
for (int i = 0; i < 10; i++) {
sheet.insertRow(i);
}


シートに列を追加する。
10列追加する
for (int i = 0; i < 10; i++) {
sheet.insertColumn(i);
}


行を削除する。
1行目を削除する
sheet.removeRow(0);


列を削除する。
1列目を削除する
sheet.removeColumn(0);


内容を書き込むためにセルのインスタンスを取得する。
// 行、列を指定してセルを取得
int column = 0;
int row = 0;
jxl.write.WritableCell cell = sheet.getWritableCell(column, row);

// セル名を指定して取得
String cellName = "A1";
jxl.write.WritableCell cellByName = sheet.getWritableCell(cellName);

※ セルの操作は次回に記述します。

値、フォーマットを設定したセルをシートに追加する。
WritableCell cell = null;

/*
* 値、フォーマットを設定
* 設定方法は次回に記述します
*/

sheet.addCell(cell);



シート内のページ切り替え位置を設定する。
int breakPosition = 10;
// 列の区切り位置を取得
sheet.addRowPageBreak(10);


行の高さを設定する。
// 設定対象行番号
int row = 3;
// 高さ
int height = 20;
sheet.setRowView(row, height);

// 行を折りたたむ場合
row = 5;
boolean collapse = true;
sheet.setRowView(row, collapse);

// 折りたたみ、高さを合わせて設定
row = 10;
collapse = false;
sheet.setRowView(row, height, collapse);



列の幅を設定する。
// 設定対象列番号
int column = 3;
// 幅
int width = 20;
sheet.setColumnView(column, width);


列のフォーマットを設定する。
// 設定対象列番号
int column = 3;
// セルのフォーマット
CellView cellView = new CellView();

/*
* 値、フォーマットを設定
* 設定方法は次回に記述します
*/


sheet.setColumnView(column, cellView);

※ 行単位での設定はできません。

セルを結合する。
// 結合開始セル位置
int fromRow = 0;
int fromColumn = 1;
// 結合終了セル位置
int toRow = 3;
int toColumn = 3;
jxl.Range mergedCells = sheet.mergeCells(fromColumn, fromRow, toColumn, toRow);


セルの結合を解除する。
// 結合位置のRangeインスタンスを取得
Range[] mergedCells = sheet.getMergedCells();
for (int i = 0; i < sheet.getMergedCells.length; i++) {
sheet.unmergeCells(mergedCells[i]);
}


シート内のイメージを操作する。
// イメージ数の取得
int imageCount = sheet.getNumberOfImages();

for (int i = 0; i < imageCount; i++) {
// 設定されたイメージの取得
jxl.write.WritableImage image = sheet.getImage(i);
// 設定されたイメージの削除
sheet.removeImage(image);
}

// イメージの新規追加 ※WritableImageのインスタンス化は次回に記述します
jxl.write.WritableImage image =
new jxl.write.WritableImage(0, 0, 100, 100, new File("path/to/image/file"));
sheet.addImage(image);


シート内のハイパーリンクを操作する。
// 設定済みリンクの取得
jxl.write.WritableHyperLink[] links = sheet.getWritableHyperlinks();

for (int i = 0; i < links.length; i++) {
// 設定されたリンクの削除
sheet.removeHyperlink(links[i]);
// リンクのみを削除し、内容は残す場合
sheet.removeHyperlink(links[i], true);
}

// ハイパーリンクの新規追加 ※WritableHyperlinkのインスタンス化は次回に記述します
jxl.write.WritableHyperlink link =
new jxl.write.WritableHyperlink(0, 0, new File("path/to/linked/file"));
sheet.addHyperlink(link);

Java Excel API(書き込み機能(2))

セルの操作 jxl.write.WritableCellのメソッドを使用します。 以下変数sheetをWritableSheetのインスタンスとします。 セルを生成する。 セルの表示形...
  • westkingwy
  • westkingwy
  • 2012年03月25日 22:45
  • 1079

Java Excel API(読み込み機能)

「Java Excel API(以下JXLと記述します)」は、JavaでMicrosoft Excelを扱うことのできる オープンソースのライブラリです。 同様のライブラリとしてはApache P...
  • westkingwy
  • westkingwy
  • 2012年03月25日 22:38
  • 935

ASP.NET【IISメタベースにアクセスできませんでした。】异常解决方法

重新注册IIS   开始-运行 [%systemroot%/WINDOWS/Microsoft.NET/Framework/v1.1.4322/aspnet_regiis.exe   -i] 让...
  • Draling
  • Draling
  • 2014年02月08日 16:19
  • 686

Excelに書き込む

http://salvw.miscnotes.com/index.php/archives/2895 ソリューションエクスプローラから VB プロジェクトを右クリック → [参照の設定]で「参照の追加...
  • teiunhi
  • teiunhi
  • 2010年02月05日 14:02
  • 277

日经春秋 20150829

壁や照明をじっくり眺めたり、記念に写真を撮ったり。ホテルオークラ東京の本館が、建て替えのため今月末で営業をいったん休止する。そのロビーで名残を惜しむ人たちの姿をちらほら見かける。開業は1962年。前回...
  • tomotayuki
  • tomotayuki
  • 2015年08月29日 10:17
  • 71

ファイルまたはアセンブリ 'XTR11'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

问题截图: 解决方案:
  • u012250252
  • u012250252
  • 2014年05月28日 14:08
  • 1473

「ASP.NET 1.1が実行されてないエラー」の対処方法

http://teasone.under.jp/wp/2006/08/03/%E3%80%8Caspnet-11%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8...
  • baggio328
  • baggio328
  • 2009年08月19日 13:48
  • 802

真正中文攻略之 SAKURA~雪月華~ 花鳥風月プレミアムエディション 汉化、攻略

发售日:2005年5月27日对象:全年龄类型:恋爱ADVSAKURA雪月华是由CIRCUS和PrincessSoft合做的作品,2003年7月出了PS2版,这次PC版是由PS2版移植的。人设由七尾奈留...
  • luozhuang
  • luozhuang
  • 2008年10月17日 15:13
  • 7499

【FuckGalEngine】探索PJADV(未完成16/8/11)

探索PJADV引言说起来也算与这PJADV有缘,本人一直很喜欢的一部作品叫母子愛2,可惜属于纯爱拔,没有汉化,所以自己便萌生探索GalEngine之意,便入了这大坑。网上能找到的关于PJADV的前人探...
  • Neroldycs
  • Neroldycs
  • 2016年08月10日 22:21
  • 802

“すみません”不只是“对不起”

一、思考問題: “すみません”の意味と用法は何ですか、皆さんは知っているか。 当你初学日语的时候,老师就会告诉你,“すみません”是“对不起”,“请原谅”的意思,在给人添了麻烦,表示抱歉时使用。 但是,...
  • tlaff
  • tlaff
  • 2016年12月09日 11:00
  • 311
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java Excel API(書き込み機能(1))
举报原因:
原因补充:

(最多只允许输入30个字)