//autoSizeColumn()方法自动调整excel列宽
import java.io.FileOutputStream;
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.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFComment;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
public class PoiCreateExcelTest ... {
public static void main(String[] args) ... {
/** */ /**
* @see <a href=" http://poi.apache.org/hssf/quick-guide.html #NewWorkbook">For more</a>
*/
// 创建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值, 也可以指定Sheet名称
HSSFSheet sheet = workbook.createSheet();
// HSSFSheet sheet = workbook.createSheet("SheetName");
// 用于格式化单元格的数据
HSSFDataFormat format = workbook.createDataFormat();
// 创建新行(row),并将单元格(cell)放入其中. 行号从0开始计算.
HSSFRow row = sheet.createRow(( short ) 1 );
// 设置字体
HSSFFont font = workbook.createFont();
font.setFontHeightInPoints(( short ) 20 ); // 字体高度
font.setColor(HSSFFont.COLOR_RED); // 字体颜色
font.setFontName( " 黑体 " ); // 字体
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 宽度
font.setItalic( true ); // 是否使用斜体
// font.setStrikeout(true); // 是否使用划线
// 设置单元格类型
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFont(font);
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平布局:居中
cellStyle.setWrapText( true );
// 添加单元格注释
// 创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
HSSFPatriarch patr = sheet.createDrawingPatriarch();
// 定义注释的大小和位置,详见文档
HSSFComment comment = patr.createComment( new HSSFClientAnchor( 0 , 0 , 0 , 0 , ( short ) 4 , 2 , ( short ) 6 , 5 ));
// 设置注释内容
comment.setString( new HSSFRichTextString( " 可以在POI中添加注释! " ));
// 设置注释作者. 当鼠标移动到单元格上是可以在状态栏中看到该内容.
comment.setAuthor( " Xuys. " );
// 创建单元格
HSSFCell cell = row.createCell(( short ) 1 );
HSSFRichTextString hssfString = new HSSFRichTextString( " Hello World! " );
cell.setCellValue(hssfString); // 设置单元格内容
cell.setCellStyle(cellStyle); // 设置单元格样式
cell.setCellType(HSSFCell.CELL_TYPE_STRING); // 指定单元格格式:数值、公式或字符串
cell.setCellComment(comment); // 添加注释
// 格式化数据
row = sheet.createRow(( short ) 2 );
cell = row.createCell(( short ) 2 );
cell.setCellValue( 11111.25 );
cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(format.getFormat( " 0.0 " ));
cell.setCellStyle(cellStyle);
row = sheet.createRow(( short ) 3 );
cell = row.createCell(( short ) 3 );
cell.setCellValue( 9736279.073 );
cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(format.getFormat( " #,##0.0000 " ));
cell.setCellStyle(cellStyle);
sheet.autoSizeColumn(( short ) 0 ); // 调整第一列宽度
sheet.autoSizeColumn(( short ) 1 ); // 调整第二列宽度
sheet.autoSizeColumn(( short ) 2 ); // 调整第三列宽度
sheet.autoSizeColumn(( short ) 3 ); // 调整第四列宽度
try ... {
FileOutputStream fileOut = new FileOutputStream( " C:\3.xls " );
workbook.write(fileOut);
fileOut.close();
} catch (Exception e) ... {
System.out.println(e.toString());
}
}
}
分享到:
相关推荐
excel导出
java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入
java Excel导出 Excel数据处理
Excel导出数据 Excel导出数据 Excel导出数据 Excel导出数据 Excel导出数据
C# 用NPOI导出多个sheet页的Excel,sheet页名称可以自定义
导出Excel功能,导出Excel功能,导出Excel功能,导出Excel功能
php excel导出 导入php excel导出 导入php excel导出 导入php excel导出 导入
struts2实现excel导出struts2实现excel导出struts2实现excel导出struts2实现excel导出
excel导出,支持前台和后台导出,并用struts2,简洁代码
用于考核的系统,导出EXCEL导出EXCEL
excel导出 脚本处理excel导出 脚本处理excel导出 脚本处理
自己写一个可直接导出List<Object>数据的Excel工具类,使用起来很方便。
excel导出类,可以直接使用类来实现excel导出,不回出现excel扩展格式错误问题!
需要使用JAVA 做EXCEL导出的同学,有问题尽管私信
Excel导入导出 Excel导入 Excel导出
springboot 导出excel 导入excel 生成excel 内容有点多 springboot 导出excel 导入excel 生成excel 内容有点多 springboot 导出excel 导入excel 生成excel 内容有点多 springboot 导出excel 导入excel 生成excel ...
Excel导出多层表头,Excel导出,Excel单元格合并。
使用注解方式,在实体属性的get方法上添加注解,实现简单的excel表格导出功能
java excel导出数据
Excel导出百万级数据