91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 23KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-13
  • 語言: Java
  • 標簽: Java??POI??Excel??

資源簡介

Java操縱POI解析Excel表,根據表頭將內容儲存。通過實體類set、get方便其它方法引用

資源截圖

代碼片段和文件信息

package?com.cn.excel;

import?java.io.File;
import?java.lang.reflect.Method;
import?java.util.ArrayList;
import?java.util.List;

import?org.apache.poi.ss.usermodel.Cell;
import?org.apache.poi.ss.usermodel.CellType;
import?org.apache.poi.ss.usermodel.Row;
import?org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
import?org.apache.poi.ss.util.CellRangeAddress;
import?org.apache.poi.ss.usermodel.Sheet;
import?org.apache.poi.ss.usermodel.Workbook;
import?org.apache.poi.ss.usermodel.WorkbookFactory;

public?class?Test?{

public?static?void?main(String[]?args)?{
List?testList?=?load(“src/main/resources/test.xlsx“?“工作表1“?TestPo.class);
for?(int?i?=?0;?i? System.out.print(“【“?+?testList.get(i).getNo()?+?“】“);
System.out.print(“【“?+?testList.get(i).getName()?+?“】“);
System.out.print(“【“?+?testList.get(i).getValue()?+?“】“);
System.out.println();

}
}

/**
?*?解析Excel表
?*?
?*?@param?excelPath
?*????????????文件路徑
?*?@param?sheetName
?*????????????工作表名
?*?@param?clazz
?*????????????實體類
?*?@return
?*/
public?static??List?load(String?excelPath?String?sheetName?Class?clazz)?{
List?list?=?new?ArrayList();
try?{
//?創建workbook對象
Workbook?workbook?=?WorkbookFactory.create(new?File(excelPath));
//?獲取表單sheetName
Sheet?sheet?=?workbook.getSheet(sheetName);
//?獲取第一行
Row?titleRow?=?sheet.getRow(0);
//?獲取最后一列列號(列數)
int?lastCellNum?=?titleRow.getLastCellNum();
String[]?fields?=?new?String[lastCellNum];
//?循環處理每一列取出每一列的字段名保存到數組(處理表頭)
for?(int?column?=?0;?column? Cell?cell?=?titleRow.getCell(column?MissingCellPolicy.CREATE_NULL_AS_BLANK);
cell.setCellType(CellType.STRING);
String?title?=?cell.getStringCellValue();
title?=?title.substring(0?title.indexOf(“(“));
fields[column]?=?title;
}
//?獲取最后一列行號
int?lastRowIndex?=?sheet.getLastRowNum();
//?循環處理每一個數據行
for?(int?row?=?0;?row?<=?lastRowIndex;?row++)?{
T?obj?=?clazz.newInstance();
//?拿到一個數據行
Row?dataRow?=?sheet.getRow(row);
if?(dataRow?==?null?||?isEmptyRow(dataRow))?{
continue;
}
//?拿到此數據行上的每一列
for?(int?column?=?0;?column? Cell?cell?=?dataRow.getCell(column?MissingCellPolicy.CREATE_NULL_AS_BLANK);
cell.setCellType(CellType.STRING);
String?value?=?null;
//?獲取單元格的值
value?=?getCellValue(cell);
if?(isMergedRegion(sheet?row?column))?{
value?=?getMergedRegionValue(sheet?row?column);
}
//?獲取要反射的方法
String?methodName?=?“set“?+?fields[column];
//?獲取要反射的方法對象
Method?method?=?clazz.getMethod(methodName?String.class);
//?完成反射調用
method.invoke(obj?value);
}
list.add(obj);
}
}?catch?(Exception?e)?{
e.printStackTrace();
}
return?list;
}

/**
?*?判斷指定的單元格是否是合并單元格
?*?
?*?@param?sheet 表單
?*?@param?row 行
?*?@param?column 列
?*?@return
?*/
public?static?boolean?isMergedRegion(Sheet?sheet?int?row?int?column

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-01-22?11:50??excelTest\
?????文件????????6148??2019-01-22?11:50??excelTest\.DS_Store
?????目錄???????????0??2019-01-22?11:50??__MACOSX\
?????目錄???????????0??2019-01-22?11:50??__MACOSX\excelTest\
?????文件?????????120??2019-01-22?11:50??__MACOSX\excelTest\._.DS_Store
?????文件?????????550??2019-01-16?11:51??excelTest\pom.xml
?????文件????????1395??2019-01-16?11:49??excelTest\.classpath
?????目錄???????????0??2019-01-16?11:49??excelTest\.settings\
?????文件?????????238??2019-01-16?11:49??excelTest\.settings\org.eclipse.jdt.core.prefs
?????文件??????????86??2019-01-16?11:49??excelTest\.settings\org.eclipse.m2e.core.prefs
?????文件?????????538??2019-01-16?11:49??excelTest\.project
?????目錄???????????0??2019-01-16?11:49??excelTest\src\
?????目錄???????????0??2019-01-16?11:49??excelTest\src\test\
?????目錄???????????0??2019-01-16?11:49??excelTest\src\test\resources\
?????目錄???????????0??2019-01-16?11:49??excelTest\src\test\java\
?????目錄???????????0??2019-01-16?11:49??excelTest\src\main\
?????目錄???????????0??2019-01-22?11:47??excelTest\src\main\resources\
?????文件???????21355??2019-01-22?11:47??excelTest\src\main\resources\test.xlsx
?????目錄???????????0??2019-01-22?11:50??__MACOSX\excelTest\src\
?????目錄???????????0??2019-01-22?11:50??__MACOSX\excelTest\src\main\
?????目錄???????????0??2019-01-22?11:50??__MACOSX\excelTest\src\main\resources\
?????文件?????????188??2019-01-22?11:47??__MACOSX\excelTest\src\main\resources\._test.xlsx
?????目錄???????????0??2019-01-16?11:50??excelTest\src\main\java\
?????目錄???????????0??2019-01-16?11:50??excelTest\src\main\java\com\
?????目錄???????????0??2019-01-16?11:50??excelTest\src\main\java\com\cn\
?????目錄???????????0??2019-01-22?11:46??excelTest\src\main\java\com\cn\excel\
?????文件????????5265??2019-01-22?11:46??excelTest\src\main\java\com\cn\excel\Test.java
?????文件?????????697??2019-01-16?16:48??excelTest\src\main\java\com\cn\excel\TestPo.java

評論

共有 條評論