1、文件的读写
1.1、文件的读取
InputStream xlsFile = new FileInputStream("C:\\Users\\暑水\\Desktop\\sign_in.xlsx");
// 获得工作簿对象
XSSFWorkbook workbook = new XSSFWorkbook(xlsFile);
// 获得所有工作表,0指第一个表格
XSSFSheet sheet = workbook.getSheetAt(0);
// 获得行数
int rows = sheet.getLastRowNum();
// 获得列数
int cols = sheet.getPhysicalNumberOfRows();
// 读取数据
for (int row = 0; row < rows; ++row) {
//获取行,行号作为参数传递给getRow方法,第一行从0开始计算
XSSFRow r = sheet.getRow(row);
//遍历列
for (int col = 0; col < r.getPhysicalNumberOfCells(); col++) {
XSSFCell cell = r.getCell(col);
cell.setCellType(Cell.CELL_TYPE_STRING);
String cellValue = cell.getStringCellValue();
System.out.print(cellValue + "\t");
}
System.out.println();
}
1.2、文件的写入
//创建excel文件
File NewxlsFile = new File("C:\\Users\\暑水\\Desktop\\实验\\实验数据\\user_lable1.xlsx");
// 创建一个工作簿
XSSFWorkbook Newworkbook = new XSSFWorkbook();
// 创建一个工作表
XSSFSheet Newsheet = Newworkbook.createSheet("sheet1");
// 将数据填入新的表格中
for (int row = 0; row < 100; ++row) {
//创建行
XSSFRow Newrows = Newsheet.createRow(row);
for(int col = 0; col < 36; ++col) {
//按列写入
Newrows.createCell(col).setCellValue("col"+col);
}
//将excel写入
FileOutputStream fileOutputStream = new FileOutputStream(NewxlsFile);
Newworkbook.write(fileOutputStream);
注:其中XSSF指的是excel版本为2007以上,HSSF是2003版本,一般直接使用XSSF即可。
2、POI中的CellType类型以及值的对应关系
Cell | 类型 | 值 | 取值函数 |
---|---|---|---|
CELL_TYPE _NUMERIC | 数值型 | 0 | cell.getNumericCellValue() |
CELL_TYPE_STRING | 字符串型 | 1 | cell.getStringCellValue() |
CELL_TYPE_FORMULA | 公式型 | 2 | cell.getCellFormula() |
CELL_TYPE_BLANK | 空值 | 3 | 空值 |
CELL_TYPE_BOOLEAN | 布尔型 | 4 | cell.getBooleanCellvalue() |
CELL_TYPE_ERROR | 错误 | 5 | error |
获取类型:cell.getCellType()
设置类型:cell.setCellType(XSSFCell.Cell类型)
例如:cell.setCellType(XSSFCell.CELL_TYPE_STRING)
附录:
- String转int
int a = Integer.parseInt(str);
int a = Integer.valueOf(str); - int 转 String
String str = String.valueOf(a);
String str = Integer.toString(a);
String str = a + "";
3、所需jar包
链接:链接:https://pan.baidu.com/s/1CT-OzkSe1SPbDDy2iHBFMA
提取码:jla9
网友评论