怎么获取excel字符间列java

Python014

怎么获取excel字符间列java,第1张

一、excel读取的两种方式

Java中解析excel的方式,我目前知道的有两种,一种是 jxl 读取,另一种是 poi 读取

1.1 jxl 和 poi 的区别和选择

① jxl 只能解析 xls 文件,不能 解析 xlsx 文件poi 则是可以同时兼容xls 和xlsx两种文件类型,这是要注意的第一个点;

② 这两个方法的读取方式不一样,jxl 读取的是 先读列 然后循环获取的该列每行的信息。poi 读取是 先读行,再循环获取每列的信息。如下图:

使用java poi

package webservice

import java.io.FileInputStream

import java.io.FileNotFoundException

import java.io.FileOutputStream

import java.io.IOException

import org.apache.poi.hssf.usermodel.HSSFCell

import org.apache.poi.hssf.usermodel.HSSFRow

import org.apache.poi.hssf.usermodel.HSSFSheet

import org.apache.poi.hssf.usermodel.HSSFWorkbook

public class ExcelController {

@SuppressWarnings("deprecation")

public void excel() throws FileNotFoundException, IOException{

String filename = "d:\\excel.xls"

HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filename))

//按名引用excel工作表

// HSSFSheet sheet = workbook.getSheet("JSP")

//用式获取excel工作表采用工作表索引值

HSSFSheet sheet = workbook.getSheetAt(0)

HSSFRow row

HSSFCell cell1

int rows=sheet.getLastRowNum()

for(int icount=0icount<rowsicount++){

row = sheet.getRow(icount)

int line=row.getPhysicalNumberOfCells()

for(int j=0j<linej++){

cell1= row.getCell(j)

System.out.println(cell1+"--"+icount+"---"+j)

}

}

//打印读取值

// System.out.println(cell.getStringCellValue())

//新建输流

FileOutputStream fout = new FileOutputStream(filename)//PS:filename 另存路径处理直接写入模版文件

//存盘

workbook.write(fout)

fout.flush()

//结束关闭

fout.close()

}

public HSSFCell getCell(HSSFRow row, int index) {

// 取发期单元格

HSSFCell cell = row.getCell(index)

// 单元格存

if (cell == null) {

// 创建单元格

cell = row.createCell(index)

}

// 返单元格

return cell

}

public static void main(String[] args) {

ExcelController ec = new ExcelController()

try {

ec.excel()

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace()

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

}