Java将数据按列写入Excel并设置格式(字体、背景色、自动列宽、对齐方式等)
发布日期:2021-05-09 06:23:07 浏览次数:16 分类:博客文章

本文共 3297 字,大约阅读时间需要 10 分钟。

本文使用jxl.jar工具类库将数据按列写入Excel并设置格式(字体、背景色、自动列宽、对齐方式等)。

/**     * 按列写入Excel并设置格式     *      * @param outputUrl     *            输出路径     * @param sheetName     *            工作薄名称     * @param titles     *            表头     * @param arrayList     *            表头数据     * @throws IOException     * @throws RowsExceededException     * @throws WriteException     */    public static void writeExcel(String outputUrl, String sheetName, String[] titlesArray,            ArrayList
... arrayList) throws IOException, 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 = new File(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 = new CellView(); cellView.setAutosize(true); //设置自动大小 sheet.setColumnView(i, cellView); //根据内容自动设置列宽 WritableCellFormat format = new WritableCellFormat(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 = new WritableCellFormat(font); Label label = new Label(i, j + 1, arrayList[i].get(j), format); sheet.addCell(label); } } //写入数据 workbook.write(); //关闭工作簿 workbook.close(); }

测试代码:

public static void main(String[] args) throws Exception {        String txtUrl = "C:\\Users\\Administrator\\Desktop\\匹配.txt";        ArrayList
list1 = ExcelReadUtil.readBookName(txtUrl); ArrayList
list2 = ExcelReadUtil.readFilePath(txtUrl); String[] titles = { "书名", "路径" }; writeExcel("C:\\Users\\Administrator\\Desktop\\匹配.xls", "匹配", titles, list1, list2); }

测试结果;

 

转载地址:https://www.cnblogs.com/sgh1023/p/10026817.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:只需两步!Eclipse+Maven快速构建第一个Spring Boot项目
下一篇:Python编程从入门到实践笔记——异常和存储数据

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月22日 11时09分45秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

大疆机甲大师教育机器人Python API中文化之三:底盘灯效 2019-04-26
大疆机甲大师教育机器人Python API中文化之四五:云台灯效,指定序号 2019-04-26
大疆机甲大师教育机器人Python API中文化之六:关灯 2019-04-26
“中文编程”知乎专栏两岁了——山雨欲来风满楼 2019-04-26
大疆机甲大师Python API之七:做个闹钟 2019-04-26
【意外走向】大疆机甲大师Python API之八:计时——为性能测试展开1000次循环 2019-04-26
RFC#2457——Rust 语言支持非 ASCII 码标识符在 GitHub 引发的激辩(一) 2019-04-26
RFC#2457——Rust 语言选择支持非 ASCII 码标识符在 GitHub 引发的激辩(二) 2019-04-26
”为什么有这么多人执着于中文编程?”回答两千赞留念及回应 2019-04-26
【家务】盘点小孩玩具零件缺失情况 2019-04-26
开发中文 API 的一些策略 2019-04-26
从日本编程书籍《我的第一本编程书》中译版看中文例程如何扬长避短——标识符(一) 2019-04-26
中文命名标识符如何区分类型和变量 2019-04-26
编程术语成系统中文化的意义 2019-04-26
草蟒 Python 中文 API 与 IDE 支持尝鲜 2019-04-26
一种改进中文 API 可读性的方法:参数不限于在末尾 2019-04-26
中文编程开发工具的生存模式探讨 2019-04-26
写给木兰编程语言研发团队的公开信 2019-04-26
为什么要急着为「木兰」编程语言贴上“造假”的标签? 2019-04-26
编程语言国产化的关键一战——对肆意污名化“木兰”编程语言说“不” 2019-04-26