更新時(shí)間:2022-08-02 10:41:41 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1213次
Java利用POI導(dǎo)出Excel格式文件的方法是什么?動(dòng)力節(jié)點(diǎn)小編來為大家解答。
第一步:先導(dǎo)入依賴。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
</dependency>
簡(jiǎn)單案例
package com.maxinyang.excel;
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.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.WorkbookUtil;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/**
*
* 無樣式 無圖片 導(dǎo)出xls 案例;
* 作者:12345
* 口號(hào):天王蓋地虎
*/
public class Excel {
public static void main(String[] args) {
/**
* 模擬數(shù)據(jù)庫數(shù)據(jù)
*/
List<User> users = new ArrayList<>();
users.add(new User("老馬1","18","河南洛陽"));
users.add(new User("老馬2","18","河南洛陽"));
users.add(new User("老馬3","18","河南洛陽"));
users.add(new User("老馬4","18","河南洛陽"));
users.add(new User("老馬5","18","河南洛陽"));
users.add(new User("老馬6","18","河南洛陽"));
users.add(new User("老馬7","18","河南洛陽"));
users.add(new User("老馬8","18","河南洛陽"));
users.add(new User("老馬9","18","河南洛陽"));
users.add(new User("老馬10","18","河南洛陽"));
/**
*創(chuàng)建HSSFWorkbook對(duì)象(excel的文檔對(duì)象),本實(shí)例是導(dǎo)出擴(kuò)張名為xls(office2003)。
* 如果需要導(dǎo)出擴(kuò)展名xlsx(office2007以后版本),只需要把文中HSSF改為XSSF即可,
* 如 HSSFWorkbook改為XSSFWorkbook。
*/
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet userTable = wb.createSheet("用戶表");
/**
* HSSFRow 代表行 0 = 表的第一行
* HSSFCell 代表列 0 = 第一行第一列
* 注意 : 單元行單元列下標(biāo)從零開始
*/
HSSFRow row0 = userTable.createRow(0);
HSSFCell cell0 = row0.createCell(0);
// 設(shè)置內(nèi)容
cell0.setCellValue("用戶表格一覽");
// 合并單元格 起始行 截至列 起始列 截至行
userTable.addMergedRegion(new CellRangeAddress(0,0,0,4));
//設(shè)置單元列名
HSSFRow row1 = userTable.createRow(1);
row1.createCell(0).setCellValue("姓名");
row1.createCell(1).setCellValue("年齡");
row1.createCell(2).setCellValue("住址");
// 循環(huán)內(nèi)容
for (int i = 0; i < users.size(); i++) {
User user = users.get(i);
HSSFRow row = userTable.createRow(i + 2);
row.createCell(0).setCellValue(user.getName());
row.createCell(1).setCellValue(user.getAge());
row.createCell(2).setCellValue(user.getAddress());
}
try {
// 文件名稱
String fileName = System.currentTimeMillis() + ".xls";
FileOutputStream fileOutputStream = new FileOutputStream("F:\\學(xué)習(xí)測(cè)試文件\\execl\\" + fileName);
wb.write(fileOutputStream);
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743