java创建excel入门

package poi;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
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.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;

/**
* @Description: poi实现输出信息到excel文件
* @Author: nutony
* @Date: 2013-12-14
*/
public class Test2XSSF {
@Test
public void rule() throws FileNotFoundException, IOException{
String xlsFile = "c:/poiXFFS.xlsx";
Workbook wb = new XSSFWorkbook(new FileInputStream(xlsFile));

System.out.println("共创建多少样式 "+wb.getNumCellStyles());
System.out.println("共创建多少字体 "+wb.getNumberOfFonts());

Sheet sheet = wb.getSheetAt(0);

System.out.println("共多少合并单元格 "+sheet.getNumMergedRegions());
System.out.println("起始行数 "+sheet.getFirstRowNum());
System.out.println("结束行数 "+sheet.getLastRowNum()+1);

}


/*
* dom4j-1.6.1.jar
* poi-3.9-20121203.jar
* poi-ooxml-3.9-20121203.jar
* poi-ooxml-schemas-3.9-20121203.jar
* stax-api-1.0.1.jar
* xmlbeans-2.3.0.jar
*/
@Test
public void print() throws Exception{
String xlsFile = "c:/clroleprice.xlsx";

//STEP 1:打开excel文件
Workbook wb = new XSSFWorkbook(); //创建excel文件
//Workbook wb = new XSSFWorkbook(new FileInputStream(xlsFile)); //打开已存在的excel文件

//STEP 2:打开当前工作簿
Sheet sheet = wb.createSheet("我的第一个工作簿"); //建立新的sheet对象
//Sheet sheet = wb.getSheetAt(0); //选择第一个工作簿
//wb.setSheetName(0, "我的第一个工作簿"); //设置工作簿的名称

Row nRow = null;
Cell nCell = null;

//STEP 3:创建行对象
nRow = sheet.createRow((short)1); //第2行

//STEP 4:指定列 创建单元格对象
nCell = nRow.createCell((short)(2)); //第3列

//STEP 5:指定列 创建单元格对象
nCell.setCellValue("我是单元格传智播客");

//STEP 6:设置样式
nCell.setCellStyle(leftStyle(wb));

//STEP 7:关闭保存excel文件
FileOutputStream fOut = new FileOutputStream(xlsFile);
wb.write(fOut);
fOut.flush();
fOut.close();

}

@Test
public void testprint() throws Exception{
String xlsFile = "c:/clroleprice.xlsx";

Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet("我的第一个工作簿");

Row nRow = null;
Cell nCell = null;


for(int i=0;i<100000;i++){
System.out.println(i);
nRow = sheet.createRow(i);

for(int j=0;j<20;j++){
nCell = nRow.createCell(j);
nCell.setCellValue("我是单元格传智播客");
}
}

//STEP 6:设置样式
nCell.setCellStyle(leftStyle(wb));

//STEP 7:关闭保存excel文件
FileOutputStream fOut = new FileOutputStream(xlsFile);
wb.write(fOut);
fOut.flush();
fOut.close();

}



//设置单元格样式
private CellStyle leftStyle(Workbook wb){
CellStyle curStyle = wb.createCellStyle();
Font curFont = wb.createFont(); //设置字体
//curFont.setFontName("Times New Roman"); //设置英文字体
curFont.setFontName("微软雅黑"); //设置英文字体
curFont.setCharSet(Font.DEFAULT_CHARSET); //设置中文字体,那必须还要再对单元格进行编码设置
curFont.setFontHeightInPoints((short)10); //字体大小
curStyle.setFont(curFont);

curStyle.setBorderTop(CellStyle.BORDER_THICK); //粗实线
curStyle.setBorderBottom(CellStyle.BORDER_THIN); //实线
curStyle.setBorderLeft(CellStyle.BORDER_MEDIUM); //比较粗实线
curStyle.setBorderRight(CellStyle.BORDER_THIN); //实线

curStyle.setWrapText(true); //换行
curStyle.setAlignment(CellStyle.ALIGN_RIGHT); //横向具右对齐
curStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); //单元格垂直居中

return curStyle;
}


}

package poi;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.junit.Test;

/**
* @Description: poi瀹炵幇杈撳嚭淇℃伅鍒癳xcel鏂囦欢
* @Author: nutony
* @Date: 2013-05-15
*/
public class Test1HFFS {
@Test
public void rule() throws FileNotFoundException, IOException{
String xlsFile = "c:/poiHFFS.xls";
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(xlsFile));

System.out.println("鍏卞垱寤哄�灏戞牱寮廫t"+wb.getNumCellStyles());
System.out.println("鍏卞垱寤哄�灏戝瓧浣揬t"+wb.getNumberOfFonts());

HSSFSheet sheet = wb.getSheetAt(0);

System.out.println("鍏卞�灏戝悎骞跺崟鍏冩牸 "+sheet.getNumMergedRegions());
System.out.println("璧峰�琛屾暟 "+sheet.getFirstRowNum());
System.out.println("缁撴潫琛屾暟 "+sheet.getLastRowNum()+1);

}

@Test
public void print() throws Exception{
String xlsFile = "c:/poiHFFS.xls";

//STEP 1:鎵撳紑excel鏂囦欢
HSSFWorkbook wb = new HSSFWorkbook(); //鍒涘缓excel鏂囦欢
//HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(xlsFile)); //鎵撳紑宸插瓨鍦ㄧ殑excel鏂囦欢

//STEP 2:鎵撳紑褰撳墠宸ヤ綔绨�
HSSFSheet sheet = wb.createSheet("鎴戠殑绗�竴涓�伐浣滅翱"); //寤虹珛鏂扮殑sheet瀵硅薄
//HSSFSheet sheet = wb.getSheetAt(0); //閫夋嫨绗�竴涓�伐浣滅翱
//wb.setSheetName(0, "鎴戠殑绗�竴涓�伐浣滅翱"); //璁剧疆宸ヤ綔绨跨殑鍚嶇О

HSSFRow nRow = null;
HSSFCell nCell = null;

//STEP 3:鍒涘缓琛屽�璞�
nRow = sheet.createRow((short)1); //绗�琛�

//STEP 4:鎸囧畾鍒�鍒涘缓鍗曞厓鏍煎�璞�
nCell = nRow.createCell((short)(2)); //绗�鍒�

//STEP 5:鎸囧畾鍒�鍒涘缓鍗曞厓鏍煎�璞�
nCell.setCellValue("鎴戞槸鍗曞厓鏍�);

//STEP 6:璁剧疆鏍峰紡
nCell.setCellStyle(leftStyle(wb));

//STEP 7:鍏抽棴淇濆瓨excel鏂囦欢
FileOutputStream fOut = new FileOutputStream(xlsFile);
wb.write(fOut);
fOut.flush();
fOut.close();

System.out.println("finish.");
}


//璁剧疆鍗曞厓鏍兼牱寮�
private HSSFCellStyle leftStyle(HSSFWorkbook wb){
HSSFCellStyle curStyle = wb.createCellStyle();
HSSFFont curFont = wb.createFont(); //璁剧疆瀛椾綋
//curFont.setFontName("Times New Roman"); //璁剧疆鑻辨枃瀛椾綋
curFont.setFontName("寰�蒋闆呴粦"); //璁剧疆鑻辨枃瀛椾綋
curFont.setCharSet(HSSFFont.DEFAULT_CHARSET); //璁剧疆涓�枃瀛椾綋锛岄偅蹇呴』杩樿�鍐嶅�鍗曞厓鏍艰繘琛岀紪鐮佽�缃�
curFont.setFontHeightInPoints((short)10); //瀛椾綋澶у皬
curStyle.setFont(curFont);

curStyle.setBorderTop(HSSFCellStyle.BORDER_THICK); //绮楀疄绾�
curStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //瀹炵嚎
curStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM); //姣旇緝绮楀疄绾�
curStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); //瀹炵嚎

curStyle.setWrapText(true); //鎹㈣�
curStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); //妯�悜鍏峰彸瀵归綈
curStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //鍗曞厓鏍煎瀭鐩村眳涓�

return curStyle;
}

}

原文地址:https://www.cnblogs.com/songyunxinQQ529616136/p/6551283.html