poi導出excel操做

這段代碼是我在網上看到別人寫的,而後稍做修改,添加了部分註釋,從新在放到這上面,但願對你們有幫助
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataFormat;
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.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**
 * @author xxx
 */
public class CreateSimpleExcelToDisk {
 
  /**
   * @param args
   */
  public static void main(String[] args) throws Exception {
    // 導出xls格式的excel
    // Workbook wb = new HSSFWorkbook();
    // 導出xlsx格式的excel
    Workbook wb = new XSSFWorkbook();
    DataFormat format = wb.createDataFormat();
    CellStyle style;
    // 建立一個SHEET
    Sheet sheet1 = wb.createSheet("產品清單");
    // 設置表頭要顯示的內容
    String[] title = {"編號", "產品名稱", "產品價格", "產品數量", "生產日期", "產地", "是否出口"};
    int i = 0;
    // 建立一行
    Row row = sheet1.createRow((short) 0);
    // 填充標題.將標題放入第一行各列
    for (String s : title) {
      Cell cell = row.createCell(i);
      cell.setCellValue(s);
      i++;
    }
    
    // 建立第二行
    Row row1 = sheet1.createRow((short) 1);
    // 填充第二行第一列數據
    row1.createCell(0).setCellValue(20071001);
    // 填充第二行第二列數據
    // row1.createCell(1).setCellValue("金鴿瓜子");
    // 建立一個單元格子
    Cell cell2 = row1.createCell(2);
    // 填充產品價格
    cell2.setCellValue(2.45);
    style = wb.createCellStyle();
    style.setDataFormat(format.getFormat("#.##"));
    // 設定樣式
    cell2.setCellStyle(style);
    // 填充產品數量
    row1.createCell(3).setCellValue(200);
    /*
     * 定義顯示日期的公共格式
     * 如:yyyy-MM-dd hh:mm
     */
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String newdate = sdf.format(new Date());
    // 填充出產日期
    row1.createCell(4).setCellValue(newdate);
    row1.createCell(5).setCellValue("陝西西安");
    // 顯示布爾值
    row1.createCell(6).setCellValue(true);
    // 合併第二行第一列和第二列,此時value值爲「金鴿瓜子的那一列要被註釋掉」
    row1.getSheet().addMergedRegion(new CellRangeAddress(1, 1, 0, 1));
    Row row2 = sheet1.createRow((short) 2);
    Cell cell3 = row2.createCell((short) 0);
    cell3.setCellValue("合併了三個單元格");
    // 真正合並的操做在這一句,起始行,結束行,起始列,結束列
    row2.getSheet().addMergedRegion(new CellRangeAddress(2, 2, 0, 2));
    FileOutputStream fileOut = new FileOutputStream("E:\\test.xlsx");
    wb.write(fileOut);
    fileOut.close();
  }

} java

   <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-examples</artifactId>
      <version>3.9</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1-b04</version>
    </dependency> apache

相關文章
相關標籤/搜索