import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
public class ExcelUtil1 {
//使用POI創建excel工作簿
public static void createWorkBook() throws IOException {
//創建excel工作簿
Workbook wb = new HSSFWorkbook();
//創建第一個sheet(頁),命名爲 new sheet
Sheet sheet = wb.createSheet("new sheet");
//Row 行
//Cell 方格
// Row 和 Cell 都是從0開始計數的
// 創建一行,在頁sheet上
Row row = sheet.createRow((short) 0);
// 在row行上創建一個方格
Cell cell = row.createCell(0);
//設置方格的顯示
cell.setCellValue(1);
// Or do it on one line.
row.createCell(1).setCellValue(1.2);
row.createCell(2).setCellValue("This is a string 速度反饋鏈接");
row.createCell(3).setCellValue(true);
//創建一個文件 命名爲workbook.xls
FileOutputStream fileOut = new FileOutputStream("C://test1.xlsx");
// 把上面創建的工作簿輸出到文件中
wb.write(fileOut);
//關閉輸出流
fileOut.close();
}
//使用POI讀入excel工作簿文件
public static void readWorkBook() throws Exception {
// poi讀取excel
//創建要讀入的文件的輸入流
InputStream inp = new FileInputStream("C://test1.xlsx");
//根據上述創建的輸入流 創建工作簿對象
Workbook wb = WorkbookFactory.create(inp);
//得到第一頁 sheet
//頁Sheet是從0開始索引的
Sheet sheet = wb.getSheetAt(0);
//利用foreach循環 遍歷sheet中的所有行
for (Row row : sheet) {
//遍歷row中的所有方格
for (Cell cell : row) {
//輸出方格中的內容,以空格間隔
System.out.print(cell.toString() + " ");
}
//每一個行輸出之後換行
System.out.println();
}
//關閉輸入流
inp.close();
}
public static void main(String[] args) throws Exception {
ExcelUtil1.createWorkBook();
ExcelUtil1.readWorkBook();
}
}
詳細代碼見 例子-POIDemo