java excel 字体大小_Java将数据按列写入Excel并设置格式(字体、背景色、自动列宽、对齐方式等)...

该博客介绍了一个Java方法,用于按列写入Excel数据并设置格式,包括字体大小、背景色、自动列宽和对齐方式。方法接收输出路径、工作薄名称、表头和数据列表作为参数,创建Excel文件并设置相关样式,如居中对齐、黄色背景和粗体标题。此外,还展示了如何为数据单元格设置字体和边框样式。
摘要由CSDN通过智能技术生成

/*** 按列写入Excel并设置格式

*

*@paramoutputUrl

* 输出路径

*@paramsheetName

* 工作薄名称

*@paramtitles

* 表头

*@paramarrayList

* 表头数据

*@throwsIOException

*@throwsRowsExceededException

*@throwsWriteException*/

public static voidwriteExcel(String outputUrl, String sheetName, String[] titlesArray,

ArrayList... arrayList) throwsIOException, RowsExceededException, WriteException {if (outputUrl == null || outputUrl.length() == 0) {

System.out.println("Param(s) Error:outputUrl is required and the length of outputUrl is required greater than 0.");return;

}int n =arrayList.length;if (titlesArray.length !=n) {

System.out.println("Param(s) Error:the titles' length is hoped to be equal to arrayList's length.");return;

}//创建Excel文件

File file = newFile(outputUrl);

file.createNewFile();//创建工作簿

WritableWorkbook workbook =Workbook.createWorkbook(file);//创建sheet,设置名称为sheetName,默认Sheet1

if (sheetName == null || sheetName.length() == 0) {

sheetName= "Sheet1";

}

WritableSheet sheet= workbook.createSheet(sheetName, 0);//设置titles

String[] titles =titlesArray;//设置表头:列名和各种格式

for (int i = 0; i < titles.length; i++) {

WritableFont font= new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD);

CellView cellView= newCellView();

cellView.setAutosize(true); //设置自动大小

sheet.setColumnView(i, cellView); //根据内容自动设置列宽

WritableCellFormat format = newWritableCellFormat(font);

format.setAlignment(Alignment.CENTRE);//居中对齐

format.setBackground(Colour.YELLOW); //背景色

format.setBorder(Border.ALL, BorderLineStyle.THICK, Colour.BLACK);//边框

Label label = new Label(i, 0, titles[i], format);

sheet.addCell(label);

}//写入数据,并设置一些格式

for (int i = 0; i < n; i++) {for (int j = 0; j < arrayList[i].size(); j++) {//WritableFont.createFont("宋体"):设置字体为宋体//10:设置字体大小//WritableFont.BOLD:设置字体加粗(BOLD:加粗 NO_BOLD:不加粗)//false:设置非斜体//UnderlineStyle.NO_UNDERLINE:没有下划线

WritableFont font = new WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.NO_BOLD);

WritableCellFormat format= newWritableCellFormat(font);

Label label= new Label(i, j + 1, arrayList[i].get(j), format);

sheet.addCell(label);

}

}//写入数据

workbook.write();//关闭工作簿

workbook.close();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值