sheet1页面
将最后一列中间变量信息拿出来并分列显示在sheet2中
package exceltest;
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;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class TempTest {
public static void main(String[] args) {
test2();
}
private static void test2() {
//获取文件地址
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
try {
fileInputStream = new FileInputStream("C:\\Users\\ybb\\Desktop\\a.xls");
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(fileInputStream);
HSSFSheet hssfSheet1 = hssfWorkbook.getSheetAt(0);
HSSFSheet hssfSheet2 = hssfWorkbook.getSheetAt(1);
hssfWorkbook.setSheetName(1, "中间变量分列");
//获取新创建sheet页的数据
//获取单元格内容并写到新的sheet页中
HSSFRow hssfRow = hssfSheet1.getRow(0);
for (int i = 1; i <= hssfSheet1.getLastRowNum(); i++) {
HSSFRow readrow = hssfSheet1.getRow(i);
HSSFRow writeRow = hssfSheet2.createRow(i-1);
for (int j = 0; j < hssfRow.getLastCellNum(); j++) {
HSSFCell readcell = readrow.getCell(j);
if (j == hssfRow.getLastCellNum() - 1) {
String str = readcell.getStringCellValue();
String[] strings = str.split(",");
for (int k = 0; k < strings.length; k++) {
HSSFCell writeRowCell = writeRow.createCell(k);
writeRowCell.setCellValue(strings[k]);
}
}
}
}
fileOutputStream = new FileOutputStream("C:\\Users\\ybb\\Desktop\\a.xls");
hssfWorkbook.write(fileOutputStream);
} catch (Exception e) {
e.printStackTrace();
}
}
}
sheet2页面最终结果: