
需要对Excel中的数据进行读取 *** 作。一、在开始进行Java读写Excel前,需要先下一个jxl的jar包,这个jar包中提供了相关读写Excel的方法,将jxljar放到classpath下或者在工程的buildpath中添加jxljar后,便可以开始Java读写Excel了。二、Java读取Excel数据,首先,创建一个xls文件(如:jxltestxls),然后在文件中添加一些数据,Excel文件创建完成后,便可以开始写代码读取了。三、进行一个小小的扩展,读取一个目录下的所有Excel文件,读取的每个Excel文件的数据写入到不同的txt中。四、生成EXCEL需要手动写查询语句把ORACLE数据库中的数据查询出来,再通过 *** 作写到EXCEL文件里面。通过EXCEL把数据读取到ORACLE,同样需要去读取EXCEL工作薄里面的内容,再通过INSERT语句去插入数据库 *** 作。
/
读取2007 Excel文件的内容
@param filePath
待读取的文件
@return List
@throws IOException
/
public List<String[]> loadExcelXlsx(String filePath, int iCellNum)
throws IOException {
List<String[]> contents = new ArrayList<String[]>();
XSSFWorkbook workbook = null;
XSSFWorkbook xwb = new XSSFWorkbook(filePath);
// 循环工作表Sheet
for (int numSheet = 0; numSheet < xwbgetNumberOfSheets(); numSheet++) {
XSSFSheet xSheet = xwbgetSheetAt(numSheet);
if (xSheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 0; rowNum <= xSheetgetLastRowNum(); rowNum++) {
XSSFRow xRow = xSheetgetRow(rowNum);
if (xRow == null) {
continue;
}
// 如果已经开始读取,那么忽略第一行(表头)
if (rowNum == 0 && contentssize() > 0) {
continue;
}
// int iCellNum = xRowgetLastCellNum();
String[] rowData = new String[iCellNum];
// 循环列Cell
for (int cellNumOfRow = 0; cellNumOfRow < iCellNum; cellNumOfRow++) {
XSSFCell xCell = xRowgetCell(cellNumOfRow);
if (xCell == null) {
rowData[cellNumOfRow] = null;
continue;
}
if (xCellgetCellType() == XSSFCellCELL_TYPE_NUMERIC) {
rowData[cellNumOfRow] = StringvalueOf(xCell
getNumericCellValue());
} else if (xCellgetCellType() == XSSFCellCELL_TYPE_BOOLEAN) {
rowData[cellNumOfRow] = StringvalueOf(xCell
getBooleanCellValue());
} else if (xCellgetCellType() == XSSFCellCELL_TYPE_FORMULA) {
rowData[cellNumOfRow] = StringvalueOf(xCell
getCellFormula());
} else {
rowData[cellNumOfRow] = xCellgetStringCellValue();
}
}
contentsadd(rowData);
}
}
return contents;
}
public class ReadExcel001 { public static void main(String[] args) { readXml("D:/testxlsx"); Systemoutprintln("-------------"); readXml("d:/test2xls"); } public static void readXml(String fileName){ boolean isE2007 = false; //判断是否是excel2007格式 if(fileNameendsWith("xlsx")) isE2007 = true; try { InputStream input = new FileInputStream(fileName); //建立输入流 Workbook wb = null; //根据文件格式(2003或者2007)来初始化 if(isE2007) wb = new XSSFWorkbook(input); else wb = new HSSFWorkbook(input); Sheet sheet = wbgetSheetAt(0); //获得第一个表单 Iterator<Row> rows = sheetrowIterator(); //获得第一个表单的迭代器 while (rowshasNext()) { Row row = rowsnext(); //获得行数据 Systemoutprintln("Row #" + rowgetRowNum()); //获得行号从0开始 Iterator<Cell> cells = rowcellIterator(); //获得第一行的迭代器 while (cellshasNext()) { Cell cell = cellsnext(); Systemoutprintln("Cell #" + cellgetColumnIndex()); switch (cellgetCellType()) { //根据cell中的类型来输出数据 case HSSFCellCELL_TYPE_NUMERIC: Systemoutprintln(cellgetNumericCellValue()); break; case HSSFCellCELL_TYPE_STRING: Systemoutprintln(cellgetStringCellValue()); break; case HSSFCellCELL_TYPE_BOOLEAN: Systemoutprintln(cellgetBooleanCellValue()); break; case HSSFCellCELL_TYPE_FORMULA: Systemoutprintln(cellgetCellFormula()); break; default: Systemoutprintln("unsuported sell type"); break; } } } } catch (IOException ex) { exprintStackTrace(); } } }
以上就是关于浅谈JAVA读写Excel的几种途径全部的内容,包括:浅谈JAVA读写Excel的几种途径、java读取Excel数据、怎么用java把excel中的数据一行一行的读出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)