通过java的poi读取xlsx文件:
将excel文件使用文件流读取
把excel的文件流转化成excel的工作薄
获取工作薄的sheet(工作表),迭代获取
最后再次迭代每一个sheet,获取每一行的每一个单元格,把数据取出存储起来
在java程序添加spire.xls.jar依赖
import com.spire.xls.*public class ReadExcel {
public static void main(String[] args) {
//创建Workbook对象
Workbook wb = new Workbook()
//加载一个Excel文档
wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.xlsx")
//获取第一个工作表
Worksheet sheet = wb.getWorksheets().get(0)
//遍历工作表的每一行
for (int i = 1 i < sheet.getLastRow() + 1 i++) {
//遍历工作的每一列
for (int j = 1 j < sheet.getLastColumn() + 1 j++) {
//输出指定单元格的数据
System.out.print(sheet.get(i,j).getText())
System.out.print("\t")
}
System.out.print("\n")
}
}
}
使用java poipackage 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()
}
}
}