現在では、より一般のJavaインポート、エクスポート、Excelを達成するために使用される、二つの技術JavaおよびジャカルタPOI Excelがあります
直接コードに:
一,POI
POIは、Apacheプロジェクトで、Microsoft WordのExcelのように、PPTがOffice2003などと2007年、Excl2003と2007年を含め、動作します。ポイは現在更新されています。だから今主流の使用POI。
XLS:
ポンポン:
org.apache.poi
POI-OOXML
3.9
コモンズ-IO
コモンズ-IO
2.2
輸出:
パブリッククラスPoiCreateExcel {
パブリック静的無効メイン(文字列[] args){
//ヘッダを作成します。
文字列[]タイトル= { "ID"、 "氏名"、 "性別"}。
Excelブックを作成します//
HSSFWorkbookワークブック=新しいHSSFWorkbook();
//ワークシートを作成します。
HSSFSheetシート= workbook.createSheet()。
//最初の行を作成します。
HSSFRow行= sheet.createRow(0)。
HSSFCellセル= NULL;
//最初の行を挿入
{(I ++; I <title.length iが0 = INT)のために
セル= row.createCell(I)。
cell.setCellValue(タイトル[I])。
}
//データの追加
(; I <10、INT iは1 = I ++){//ため、ここで開始INTは、第2ラインがあります
HSSFRow nexTrow = sheet.createRow(I)。
HSSFCell CELL2 = nexTrow.createCell(0)。
cell2.setCellValue( "" + I)。
CELL2 = nexTrow.createCell(1)。
cell2.setCellValue( "ユーザー");
CELL2 = nexTrow.createCell(2)。
cell2.setCellValue( "男");
}
//ファイルを作成します。
ファイルファイル=新しいファイル( "D:/poi.xls");
{試します
file.createNewFile();
//コンテンツの保存
たFileOutputStreamストリーム= FileUtils.openOutputStream(ファイル)。
workbook.write(ストリーム)。
stream.close();
}キャッチ(例外e){
e.printStackTrace();
}
}
}
インポート:
パブリッククラスPoiReadExcel {
パブリック静的無効メイン(文字列[] args){
//解析ファイルへの導入
ファイルファイル=新しいファイル( "D:/poi.xls");
{試します
//作成Excelはファイルの内容を読み取り
HSSFWorkbookワークブック=新しいHSSFWorkbook(FileUtils.openInputStream(ファイル));
/ **
*最初のページには、シートを読み込みます
* /
// HSSFSheetシート= workbook.getSheet( "Sheet0")。
/ **
*シートのページを読むための第二の方法
* /
HSSFSheetシートworkbook.getSheetAt(0)=。
int型firstRowNum = 0; //行、行を開始0
int型lasrRowNum = sheet.getLastRowNum(); //最後の行まで読み
{(; I <lasrRowNum I ++ INTがI = 0)するため
HSSFRow行= sheet.getRow(I)。
//現在の列番号の最後のセルを取得します。
INT lastCellNum = row.getLastCellNum()。
用(INT J = 0; J <lastCellNum; J ++){
HSSFCellセル= row.getCell(J)。
文字列値= cell.getStringCellValue(); //注値がString、その後getStringCellValueあるエクセルいる場合であれば、あなたが変更する必要がある他のタイプ!
System.out.print(値+ "「)。
}
System.out.println();
}
}キャッチ(例外e){
e.printStackTrace();
}
}
}
XLSX:
ポンポン:
org.apache.poi
POI-例
3.9
org.apache.poi
その後、excelant
3.9
org.apache.poi
POI-OOXML
3.9
org.apache.poi
POI-OOXMLスキーマ
3.9
org.apache.poi
その後、スクラッチパッド
3.9
輸出:
パブリッククラスPoiCreateExcel {
パブリック静的無効メイン(文字列[] args){
//ヘッダを作成します。
文字列[]タイトル= { "ID"、 "氏名"、 "性別"}。
Excelブックを作成します//
XSSFWorkbookワークブック=新しいXSSFWorkbook();
//ワークシートshheetを作成します。
シートのシート= workbook.createSheet()。
//最初の行を作成します。
行の行はsheet.createRow(0)=。
電池セル= NULL;
//最初の行を挿入
{(I ++; I <title.length iが0 = INT)のために
セル= row.createCell(I)。
cell.setCellValue(タイトル[I])。
}
//データの追加
(; I <10、INT iは1 = I ++){//ため、ここで開始INTは、第2ラインがあります
行nexTrow = sheet.createRow(I)。
セルCELL2 = nexTrow.createCell(0)。
cell2.setCellValue( "" + I)。
CELL2 = nexTrow.createCell(1)。
cell2.setCellValue( "ユーザー");
CELL2 = nexTrow.createCell(2)。
cell2.setCellValue( "男");
}
//ファイルを作成します。
ファイルファイル=新しいファイル(「D:/poi.xlsxは」); //ここ以降のバージョンに変更することができます
{試します
file.createNewFile();
//トレイの内容外国為替ボーナス活動
たFileOutputStreamストリーム= FileUtils.openOutputStream(ファイル)。
workbook.write(ストリーム)。
stream.close();
}キャッチ(例外e){
e.printStackTrace();
}
}
}
インポート:
パブリッククラスPoiReadExcel {
公衆リストreadExcelsは、(入力ストリームである){例外をスロー
一覧xlsxList =新しいArrayListを();
{試します
{(== nullである)場合
(「!ファイルが正しくありません」)新しいIOExceptionをスロー。
}
ブックブック= WorkbookFactory.create(です)。
FormulaEvaluator FE = workbook.getCreationHelper()createFormulaEvaluator()。
//最初のテーブルを取得します。
紙シートはworkbook.getSheetAt(0)=。
IF(シート== NULL){
(「!の着信Excelが最初のテーブルには空である」)新しいIOExceptionをスロー。
}
{(たrowNum ++;たrowNum <= sheet.getLastRowNum()INTたrowNum = 0)のための
行row = sheet.getRow(たrowNum)。
IF(行!= NULL){
//現在の行の開始列を取得します。
INT firstCellNum = row.getFirstCellNum()。
//現在の行の列数を取得します。
INT lastCellNum = row.getPhysicalNumberOfCells()。
文字列の結果=「」;
//ループ電流行
用(INT cellNum = firstCellNum; cellNum <lastCellNum; cellNum ++){
電池セル= row.getCell(cellNum)。
double値= 0;
文字列で、valueString = cell.getStringCellValue()。
もし(ヌル!= fe.evaluate(セル)){
値= fe.evaluate(セル).getNumberValue();
}
//結果=結果+ cellNum + ":" +値+ "----"。
結果=結果+ cellNum + ":" +で、valueString + "----"。
}
System.out.println(結果+ "「);
}
}
近くにあります();
}キャッチ(にFileNotFoundException電子){
(「!ファイル正しくない」)新しい例外を投げます。
}
xlsxListを返します。
}
公共の静的な無効メイン(文字列[] argsが){例外をスロー
InputStreamが=新しいFileInputStreamを( "D:/poi.xlsx")です。
PoiReadExcel再PoiReadExcel =新しいです();
re.readExcels(です)。
}
}
二、JXL
JXL Excelが唯一の古い枠組みに属し動作することができ、それが唯一のExcel 95から2000までのバージョンをサポートしています。今、私たちは、更新やメンテナンスを停止しました。
ポンポン:
net.sourceforge.jexcelapi
JXL
2.6.10
輸出:
パブリッククラスJxlCreateExcel {
パブリック静的無効メイン(文字列[] args){
//まず、テーブル名のテーブルヘッド最初の行を列名が設定されています
文字列[]タイトル= { "ID"、 "氏名"、 "性別"}。
//パスにExcelファイルを作成します。
ファイルファイル=新しいファイル( "D:/jxl.xls");
{試します
file.createNewFile();
//ワークブックを作成します。
WritableWorkbookワークブック= Workbook.createWorkbook(ファイル);
//シートを作成します。
WritableSheetシート= workbook.createSheet( "シート1"、0);
//追加データ
ラベルlabel = NULL;
//最初の行は列名を設定します
{(I ++; I <title.length iが0 = INT)のために
ラベル=新しいラベル(I、0、タイトル[i])と、
sheet.addCell(ラベル)。
}
始まる私から二番目の行から//追記データ
以下のために(INT I = 1; I <9; I ++){
ラベル=新しいラベル(0、I、 "ID:" + I)。
sheet.addCell(ラベル)。
ラベル=新しいラベル(1、I、 "ユーザー");
sheet.addCell(ラベル)。
ラベル=新しいラベル(2、I、 "男");
sheet.addCell(ラベル)。
}
//書き込み、最後に近い流れ
workbook.write();
)(workbook.close。
}キャッチ(例外e){
e.printStackTrace();
}
}
}
インポート:
パブリッククラスJxlReadExcel {
パブリック静的無効メイン(文字列[] args){
{試します
//ワークブックを作成します。
ワークブックワークブック= Workbook.getWorkbook(新しいファイル( "D:/jxl.xls"));
//ワークシートを取得
シートのシート= workbook.getSheet(0)。
//データを取得します。
以下のために(INT iが= 0; I <sheet.getRows(); I ++){//获取行
(; J <sheet.getColumns(); int型J = 0 J ++){//ためには、列を取得します。
電池セル= sheet.getCell(j、i)に対して、
System.out.print(cell.getContents()+ ""); //セルの内容を取得
}
System.out.println();
}
)(workbook.close。
}キャッチ(例外e){
e.printStackTrace();
}
}
}