這段代碼是我在網上看到別人寫的,而後稍做修改,添加了部分註釋,從新在放到這上面,但願對你們有幫助
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