爱玺玺

爱玺玺的生活日记本。wx:lb87626

java poi 修改excel xls和xlsx的单元格数据原理

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;


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

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

import org.apache.poi.ss.usermodel.Cell;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;


public class Test {


public static void main(String[] args) {

try {

// File f = new File("D:\\b.xls");

File f = new File("D:\\a.xlsx");

InputStream inputStream = new FileInputStream(f);


/*

* HSSFWorkbook xssfWorkbook = new HSSFWorkbook(inputStream);

* HSSFSheet sheet1 = xssfWorkbook.getSheetAt(0);

*/


XSSFWorkbook workbook = new XSSFWorkbook(inputStream);

XSSFSheet sheet1 = workbook.getSheetAt(0);


for (Row row : sheet1) {

for (Cell hssfCell : row) {

System.out.println(row.getRowNum() + "--"

+ hssfCell.getColumnIndex());

if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {

String str = hssfCell.getStringCellValue();

System.out.println(str);

} else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {

double num = hssfCell.getNumericCellValue();

System.out.println("number:" + num);

hssfCell.setCellValue(100);

if (row.getRowNum() == 24

&& hssfCell.getColumnIndex() == 11) {

hssfCell.setCellValue(num);

}

} else if (hssfCell.getCellType() == Cell.CELL_TYPE_STRING) {

String str = hssfCell.getStringCellValue();

System.out.println(str);

}


}

}

inputStream.close();

FileOutputStream fout = new FileOutputStream("D:\\a.xlsx");

workbook.write(fout);

fout.close();

} catch (Exception e) {

e.printStackTrace();

}


}


}


注意execl文件格式,不同的格式在切换注释代码:

链接:https://pan.baidu.com/s/1yZfCG0sAywAAzEOwK6Kmpw 

提取码:3fm4 

--来自百度网盘超级会员V5的分享


发表评论:

Powered By Z-BlogPHP 1.4 Deeplue Build 150101

Copyright Your WebSite.Some Rights Reserved.

蜀ICP备11021721号-5