public class ExcelModel
extends java.lang.Object
POI による、EXCELバイナリファイルに対する、データモデルクラスです。 共通的な EXCEL処理 を集約しています。 staticメソッドによる簡易的なアクセスの他に、順次処理も可能なように 現在アクセス中の、Workbook、Sheet、Row、Cell オブジェクトを内部で管理しています。 入力形式は、openXML形式にも対応しています。 ファイルの内容に応じて、.xlsと.xlsxのどちらで読み取るかは、内部的に 自動判定されます。
コンストラクタと説明 |
---|
ExcelModel(java.io.File file)
EXCELファイルのWookbookのデータ処理モデルを作成します。
|
ExcelModel(java.io.File file,
boolean isOpen)
EXCELファイルのWookbookのデータ処理モデルを作成します。
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
activeWorkbook(boolean isCellDel)
Workbook の全Sheetを対象に、空行を取り除き、全体をシュリンクします。
|
void |
addImageFile(java.lang.String imgFile,
int shtNo,
int rowNo,
int colNo)
指定のシートの行・列の箇所に、イメージファイルを挿入します。
|
void |
addImageFile(java.lang.String imgFile,
int shtNo,
int row1,
int col1,
int row2,
int col2,
int dx1,
int dy1,
int dx2,
int dy2)
指定のシートの行・列の箇所に、イメージファイルを挿入します。
|
void |
createRow(int rowNo)
Excelの指定行のRowオブジェクトを作成します。
|
void |
createSheet(java.lang.String shtName,
boolean isOverwrite)
内部 Workbookより、新しいSheetを作ります。
|
int |
getFirstRowNum()
内部 Workbookの 現在Sheet の最初の行番号を返します。
|
int |
getLastRowNum()
内部 Workbookの 現在Sheet の最後の行番号を返します。
|
java.lang.String[] |
getNames()
名前定義一覧を内部の Workbook から取得します。
|
int |
getNumberOfSheets()
内部 Workbookの Sheet数を返します。
|
java.lang.String |
getSheetName(int shtNo)
内部 Workbook の 指定のSheet番号のシート名前を返します。
|
java.lang.String[] |
getSheetNames()
シート一覧を、内部の Workbook から取得します。
|
int |
getSheetNo(java.lang.String shtName)
内部 Workbook の 指定のSheet名のシート番号を返します。
|
java.lang.String[] |
getStyleNames()
書式のスタイル一覧を内部の Workbook から取得します。
|
java.lang.String |
getValue(int rowNo,
int colNo)
現在のrow にあるセルの属性値を返します。
|
java.lang.String[] |
getValues(int rowNo)
現在のRow にあるセルの属性値を配列で返します。
|
static void |
main(java.lang.String[] args)
アプリケーションのサンプルです。
|
void |
removeCell(int startCellNum)
Excelの処理中のRowオブジェクトの指定カラム以降の余計なCellオブジェクトを削除します。
|
void |
removeRow(int startRowNum)
Excelの指定行以降の余計なRowオブジェクトを削除します。
|
void |
removeSheet(int fromNo,
int toNo)
Excelの指定Sheetオブジェクトを削除します。
|
void |
saveFile(java.io.File file)
内部 Workbook オブジェクトをファイルに書き出します。
|
void |
setAddTitleSheet(java.lang.String shtName)
Sheet一覧を先頭Sheetに作成する場合のSheet名を指定します。
|
void |
setCellLink(java.lang.String linkVal,
int colNo)
Excelの指定セルにHyperlinkを設定します。
|
void |
setCellStyle()
データ設定する セルに、罫線を追加します。
|
void |
setCellValue(java.lang.String dataVal,
int colNo)
Excelの指定セルにデータを設定します。
|
void |
setCellValue(java.lang.String dataVal,
int colNo,
boolean isNumber)
Excelの指定セルにデータを設定します。
|
void |
setDataStartRow(int st)
データ行の書き込み開始位置の行番号を設定します。
|
void |
setFont(java.lang.String fontName,
short fontPoint)
内部 Workbook に、フォント名、フォントサイズを設定します。
|
void |
setRecalcSheetName(java.lang.String[] sheets)
EXCELで、出力処理の最後にセルの計算式の再計算をさせるシート名の配列を指定します。
|
void |
setRefSheetName(java.lang.String refSheetName)
内部 Workbookより、雛形Sheetをセットします。
|
void |
setSheetName(int shtNo,
java.lang.String shtName)
内部 Workbook の指定のシート番号の Sheet の名前を設定します。
|
void |
setValues(java.lang.String[] vals,
int rowNo)
row にあるセルのオブジェクト値を設定します。
|
void |
setValues(java.lang.String[] vals,
int rowNo,
boolean[] isNums)
row にあるセルのオブジェクト値を設定します。
|
void |
sheetCopy(TextConverter conv,
java.lang.String shtName)
Workbook の雛形シートのTextConverter した、新しいSheetを作成します。
|
void |
sheetSelected(boolean isSelect)
現在のシートを選択済み(true)か、非選択済み(false)に設定します。
|
void |
textConverter(java.util.Map convMap)
Workbook の全Sheetを対象に、テキスト変換処理を行います(XSLX限定)。
|
void |
textConverter(TextConverter conv)
Workbook の全Sheetを対象に、テキスト変換処理を行います(XSLX限定)。
|
void |
useAutoCellSize(boolean flag)
全てのSheetに対して、autoSizeColumn設定を行うかどうか指定します(初期値:false)。
|
void |
useAutoCellSize(boolean flag,
int count)
全てのSheetに対して、autoSizeColumn設定を行うかどうか指定します(初期値:false)。
|
public ExcelModel(java.io.File file)
file
- EXCELファイルExcelModel( File , boolean )
public ExcelModel(java.io.File file, boolean isOpen)
file
- EXCELファイルisOpen
- true:ファイルオープン/false:新規作成ExcelModel( File )
public void setFont(java.lang.String fontName, short fontPoint)
fontName
- フォント名 ("MS Pゴシック" など。nullの場合セットしません)fontPoint
- フォントの大きさ (0やマイナスの場合はセットしません)public void setCellStyle()
public void useAutoCellSize(boolean flag)
flag
- autoSizeColumn設定を行うかどうか [true:自動カラム幅設定を行う/false:行わない]useAutoCellSize( boolean,int )
public void useAutoCellSize(boolean flag, int count)
flag
- autoSizeColumn設定を行うかどうか [true:自動カラム幅設定を行う/false:行わない]count
- 最大幅を標準セル幅の何倍にするかを指定。マイナスの場合は、無制限useAutoCellSize( boolean )
public void setRecalcSheetName(java.lang.String[] sheets)
sheets
- 対象シート名の配列public void setDataStartRow(int st)
st
- データ行の開始位置。未設定時は、-1useAutoCellSize( boolean )
public void setAddTitleSheet(java.lang.String shtName)
shtName
- Sheet一覧のSheet名makeAddTitleSheet()
public int getNumberOfSheets()
public void setRefSheetName(java.lang.String refSheetName)
refSheetName
- 参照シート名(nullの場合、参照シート使用する場合は、先頭のシート)public void createSheet(java.lang.String shtName, boolean isOverwrite)
shtName
- シート名 (重複する場合は、(2)、(3)のような文字列を追加 、nullの場合は、"Sheet")isOverwrite
- 雛形シート名をそのまま使用する場合は、true を指定します。public void setSheetName(int shtNo, java.lang.String shtName)
shtNo
- シート番号shtName
- シート名 (重複する場合は、(1)、(2)のような文字列を追加 、nullの場合は、"Sheet")public java.lang.String getSheetName(int shtNo)
shtNo
- シート番号public int getSheetNo(java.lang.String shtName)
shtName
- シート名public void removeSheet(int fromNo, int toNo)
fromNo
- 削除する開始シート番号(含む)toNo
- 削除する終了シート番号(含む)public int getFirstRowNum()
public int getLastRowNum()
public void createRow(int rowNo)
rowNo
- 行の番号public void removeRow(int startRowNum)
startRowNum
- 指定以降の余計な行を削除public void removeCell(int startCellNum)
startCellNum
- 指定以降の余計なカラムを削除public void setValues(java.lang.String[] vals, int rowNo)
vals
- 新しい配列値。rowNo
- 値が変更される行(無視されます)public void setValues(java.lang.String[] vals, int rowNo, boolean[] isNums)
vals
- 新しい配列値。rowNo
- 値が変更される行(無視されます)isNums
- セルが、NUMBER型の場合は、true/それ以外は、falsepublic void setCellValue(java.lang.String dataVal, int colNo)
dataVal
- String文字列colNo
- セルの番号(0,1,2・・・・)setCellValue( String,int,boolean )
public void setCellValue(java.lang.String dataVal, int colNo, boolean isNumber)
dataVal
- String文字列colNo
- セルの番号(0,1,2・・・・)isNumber
- セルが、NUMBER型の場合は、true/それ以外は、falsecreateRow( int )
,
setCellValue( String,int )
public void setCellLink(java.lang.String linkVal, int colNo)
linkVal
- Link文字列(シート名)colNo
- セルの番号(0,1,2・・・・)setCellValue( String,int )
public java.lang.String[] getValues(int rowNo)
rowNo
- 行の番号public java.lang.String getValue(int rowNo, int colNo)
rowNo
- 値が参照される行colNo
- 値が参照される列public void addImageFile(java.lang.String imgFile, int shtNo, int rowNo, int colNo)
imgFile
- 挿入するイメージファイル名shtNo
- シート番号rowNo
- 挿入する行colNo
- 挿入する列public void addImageFile(java.lang.String imgFile, int shtNo, int row1, int col1, int row2, int col2, int dx1, int dy1, int dx2, int dy2)
imgFile
- 挿入するイメージファイル名shtNo
- シート番号row1
- 挿入する行(開始)col1
- 挿入する列(開始)row2
- 挿入する行(終了-含まず)col2
- 挿入する列(終了-含まず)dx1
- 開始セルのX軸座標(マージン)dy1
- 開始セルのY軸座標(マージン)dx2
- 終了セルのX軸座標(マージン)dy2
- 終了セルのY軸座標(マージン)public void saveFile(java.io.File file)
file
- セーブするファイルpublic void activeWorkbook(boolean isCellDel)
isCellDel
- Cellの末尾削除を行うかどうか(true:行う/false:行わない)public void textConverter(java.util.Map convMap)
convMap
- 変換対象を管理するMapオブジェクトtextConverter( TextConverter )
public void textConverter(TextConverter conv)
conv
- TextConverterインターフェースtextConverter( Map )
public void sheetSelected(boolean isSelect)
isSelect
- true:シート選択/false:非選択public void sheetCopy(TextConverter conv, java.lang.String shtName)
conv
- TextConverterインターフェースshtName
- シート名textConverter( Map )
public java.lang.String[] getSheetNames()
POIUtil.getSheetNames( Workbook )
public java.lang.String[] getNames()
POIUtil.getNames( Workbook )
public java.lang.String[] getStyleNames()
POIUtil.getStyleNames( Workbook )
public static void main(java.lang.String[] args)
args
- コマンド引数配列Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.