import java.io.*;
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 org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class Test {
public static void main(String[] args) throws IOException {
HSSFWorkbook book = null;
File file = new File("D:/test111.xls");
// 会创建file路径的文件,但是不是真的文件,FileInputStream读不出来
FileOutputStream outputStream = new FileOutputStream(file);
book = new HSSFWorkbook();
// Excel真的对象通过输出流FileInputStream写入到文件里面,输出流才可以读出来文件
/**
* 否则直接指定不存在的D:/test111.xls路径文件,并利用file.createNewFile()或者
* FileOutputStream outputStream = new FileOutputStream(file);创建test111.xls文件
* 但是创建的文件test111.xls利用POIFSFileSystem根据输入流获取时会报错
* FileInputStream inputStream = new FileInputStream(file);
* POIFSFileSystem ps = new POIFSFileSystem(inputStream);
*/
HSSFSheet sheet = book.createSheet("mahaisheet");
HSSFRow titlerow = sheet.createRow(0);
for (int i=0;i<10;i++) {
HSSFCell cell =titlerow.createCell(i);
cell.setCellValue("test"+i);
}
book.write(outputStream);
// 根据输入流获取Excel文件对象,然后在Excel对象里面写数据
FileInputStream inputStream = new FileInputStream(file);
POIFSFileSystem ps = new POIFSFileSystem(inputStream);
HSSFWorkbook book1 = new HSSFWorkbook(ps);
sheet = book1.getSheetAt(0);
titlerow = sheet.createRow(1);
for (int i=0;i<10;i++) {
HSSFCell cell =titlerow.createCell(i);
cell.setCellValue("testdown"+i);
}
// 写完之后根据输出流输出到指定文件路径
outputStream = new FileOutputStream(file);
book1.write(outputStream);
outputStream.close();
}
}
版权声明:本文为a214704原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。