java poi创建Excel表格写入数据并保存到硬盘然后再读取显示完整示例代码
public static void main(String[] args) throws IOException {
// 以HSSFWorkbook(.xls类型)为例定义一个工作薄
HSSFWorkbook wb = new HSSFWorkbook();
// 创建sheet
HSSFSheet xlsSheet = wb.createSheet();
// 创建行
for (int i = 0; i < 10; i++) {
HSSFRow xlsRow = xlsSheet.createRow(i);
for (int j = 0; j < 10; j++) {
// 创建行内的列(格子)
HSSFCell xlsCell = xlsRow.createCell(j);
// 设置该格子的值
xlsCell.setCellValue("Test_Col_" + j);
}
}
// 创建输出文件位置
FileOutputStream out = new FileOutputStream("D:\\用Poi生成的工作薄.xls");
wb.write(out);
out.close();
// 休眠3秒,等待文件写入完毕
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//HSSFWorkbook wb1 = new HSSFWorkbook(new FileInputStream("D:\\用Poi生成的工作薄.xls"));
// 读取刚刚写入的EXCEL文件
FileInputStream inps = new FileInputStream("D:\\用Poi生成的工作薄.xls");
HSSFWorkbook wb1 = new HSSFWorkbook(inps);
// 获取要解析的表格(第一个表格0)
HSSFSheet sheet = wb1.getSheetAt(0);
// 获得总记录数(行数)
int lastRowNum = sheet.getLastRowNum();
// 获得总字段数(列数)
int columnCount = sheet.getRow(0).getPhysicalNumberOfCells();
// 遍历每一行
for (int i = 0; i <= lastRowNum; i++) {
// 获得要解析的行
HSSFRow row = sheet.getRow(i);
// 循环获得该行每个单元格中的内容(String)
String rowString = "[第" + (i + 1) + "行]";
for (int j = 0; j < columnCount; j++) {
rowString += " " + row.getCell(j).getStringCellValue();
}
System.out.println(rowString);
}
//记得关闭流和工作薄,否则存在内存泄漏
inps.close();
wb1.close();
}
生成的Excel表格效果如下:
读取出来的效果如下:
本文来自博客园,作者:IT情深,转载请注明原文链接:https://www.cnblogs.com/wh445306/p/16751842.html