浅谈JAVA读写Excel的几种途径

浅谈JAVA读写Excel的几种途径,第1张

需要对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中的数据一行一行的读出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9730309.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存