JAVA 使用apache poi实现EXCEL文件的输出;apache poi实现标题行的第一个字符为红色;EXCEL设置某几个字符为别的颜色

 设置输出文件的列宽,防止文件过于丑陋

Sheet sheet = workbook.createSheet(FileConstants.ERROR_FILE_SHEET_NAME);
sheet.setColumnWidth(0, 40 * 256);
sheet.setColumnWidth(1, 20 * 256);
sheet.setColumnWidth(2, 20 * 256);
sheet.setColumnWidth(3, 20 * 256);

实现标题行的第一个字符为红色,效果如图

//这边的0,1   就是设置第一个字符  

Font font = workbook.createFont(); font.setColor(IndexedColors.RED.getIndex());

RichTextString store = workbook.getCreationHelper().createRichTextString(FileConstants.UPDATE_TEMPLATE_NAMES.get(Constants.ZERO)); store.applyFont(0, 1, font);

titleRow.createCell(Constants.ONE_INT).setCellValue(store);

判断如果是第一列的话   设置字体为红色

if (Constants.ZERO.equals(columnIndex)) {cellStyle.setFont(font);cell.setCellStyle(cellStyle);
}

将文件上传oss保存,可以忽略

try (InputStream inputStream = new ByteArrayInputStream(out.toByteArray())) {aliyunOssUtil.uploadFile(ossFilePath, inputStream);
}

 完整代码如下:

    private void uploadErrorFile(List<BatchUpdateStatusFileDTO> list, String fileBatchId) {try (ByteArrayOutputStream out = new ByteArrayOutputStream();Workbook workbook = new XSSFWorkbook()) {Sheet sheet = workbook.createSheet(FileConstants.ERROR_FILE_SHEET_NAME);sheet.setColumnWidth(0, 40 * 256);sheet.setColumnWidth(1, 20 * 256);sheet.setColumnWidth(2, 20 * 256);sheet.setColumnWidth(3, 20 * 256);// 创建标题行Row titleRow = sheet.createRow(0);titleRow.createCell(Constants.ZERO).setCellValue(StringPool.EMPTY);Font font = workbook.createFont();font.setColor(IndexedColors.RED.getIndex());RichTextString store = workbook.getCreationHelper().createRichTextString(FileConstants.UPDATE_TEMPLATE_NAMES.get(Constants.ZERO));store.applyFont(0, 1, font);titleRow.createCell(Constants.ONE_INT).setCellValue(store);RichTextString number = workbook.getCreationHelper().createRichTextString(FileConstants.UPDATE_TEMPLATE_NAMES.get(Constants.ONE_INT));number.applyFont(0, 1, font);titleRow.createCell(Constants.TWO_INT).setCellValue(number);RichTextString status = workbook.getCreationHelper().createRichTextString(FileConstants.UPDATE_TEMPLATE_NAMES.get(Constants.TWO_INT));status.applyFont(0, 1, font);titleRow.createCell(Constants.THREE_INT).setCellValue(status);// 创建数据行for (int i = 0; i < theResList.size(); i++) {BatchUpdateStatusFileDTO data = theResList.get(i);Row row = sheet.createRow(i + 1);createCell(row, Constants.ZERO, data.getCheckResult(), workbook, font);createCell(row, Constants.ONE_INT, data.getSalesStore(), workbook, font);createCell(row, Constants.TWO_INT, data.getSalesOrder(), workbook, font);createCell(row, Constants.THREE_INT, data.getSalesStatus(), workbook, font);}String ossFilePath = String.format(FileConstants.BATCH_UPDATE_ERROR_FILE_PATH, fileBatchId);// 将Excel输出为InputStreamworkbook.write(out);try (InputStream inputStream = new ByteArrayInputStream(out.toByteArray())) {aliyunOssUtil.uploadFile(ossFilePath, inputStream);}} catch (Exception e) {log.error("---Modify the order status in batches, failed to upload an error file---", e);}}private void createCell(Row row, int columnIndex, Object value, Workbook workbook, Font font) {Cell cell = row.createCell(columnIndex);if (value instanceof String) {cell.setCellValue((String) value);} else if (value instanceof Integer) {cell.setCellValue((Integer) value);} else {cell.setCellValue(value.toString());}CellStyle cellStyle = workbook.createCellStyle();cellStyle.setWrapText(Boolean.TRUE);cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);cell.setCellStyle(cellStyle);if (Constants.ZERO.equals(columnIndex)) {cellStyle.setFont(font);cell.setCellStyle(cellStyle);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/892346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卷积神经网络CNN——卷积层、池化层、全连接层

参考这篇文章,讲的很详细: 卷积神经网络CNN——卷积层、池化层、全连接层_卷积层,池化层,全连接层-CSDN博客 原文链接:https://blog.csdn.net/qq_59702185/article/details/143744365 学习目标 了解卷积神经网络的构成 知道卷积的原理以及计算公式 了解池化的作用以及计算…

怎么抓取ios 移动app的https请求?

怎么抓取IOS应用程序里面的https&#xff1f; 这个涉及到2个问题 1.电脑怎么抓到IOS手机流量&#xff1f; 2.HTTPS怎么解密&#xff1f; 部分app可以使用代理抓包的方式&#xff0c;但是正式点的app用代理抓包是抓不到的&#xff0c;例如pin检测&#xff0c;证书双向校验等…

身份鉴权(PHP)(小迪网络安全笔记~

免责声明&#xff1a;本文章仅用于交流学习&#xff0c;因文章内容而产生的任何违法&未授权行为&#xff0c;与文章作者无关&#xff01;&#xff01;&#xff01; 附&#xff1a;完整笔记目录~ ps&#xff1a;本人小白&#xff0c;笔记均在个人理解基础上整理&#xff0c;…

自定义音频播放样式结合Howler.js

滑动式滚动条 不使用audio默认样式 自定义音频播放样式 当前时间 开始时间 结束时间 可播放可暂停 滚动条可拖动进行同步 具体样式可调整npm install howler --save<template><div class"audio-player"><div v-if"isLoading" class"l…

LLM prompt提示构造案例:语音回复内容;o1思维链

1、语音回复内容 目的&#xff1a; 语音聊天助手的prompt&#xff0c;让大模型来引导聊天内容&#xff0c;简短和友好&#xff0c;从而文字转语音时候也比较高效。 ## 角色设定与交互规则 ### 基本角色 你是用户的好朋友. 你的回答将通过逼真的文字转语音技术阅读. ### 回答规则…

AES 与 SM4 加密算法:深度解析与对比

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

Sentinel服务保护 + Seata分布式事务

服务保护 【雪崩问题】微服务调用链路中某个服务&#xff0c;引起整个链路中所有微服务都不可用。 【原因】&#xff1a; 微服务相互调用&#xff0c;服务提供者出现故障。服务调用这没有做好异常处理&#xff0c;导致自身故障。调用链中所有服务级联失败&#xff0c;导致整个…

ssh2-sftp-client uploadDir Upload error: getLocalStatus: Bad path: ./public

报错解释 这个错误表明在使用 ssh2-sftp-client 这个Node.js库进行目录上传时遇到了问题。具体来说&#xff0c;是指定的本地路径&#xff08;./public&#xff09;不正确或者不存在。 解决方法&#xff1a; 确认当前工作目录&#xff1a;确保你在执行上传操作时的当前工作目…

AI赋能服装零售:商品计划智能化,化危机为转机

在服装零售这片竞争激烈的战场上&#xff0c;每一个细微的决策都可能成为品牌兴衰的关键。当市场波动、消费者口味变化、供应链挑战接踵而至时&#xff0c;许多品牌往往将危机归咎于外部环境。然而&#xff0c;真相往往更为深刻——“危机不是外部的&#xff0c;而是你的商品计…

基于YOLOv8的水下目标检测系统

基于YOLOv8的水下目标检测系统 (价格90) 使用的是DUO水下目标检测数据集 训练集 6671张 验证集 1111张 测试集 1111张 包含 [holothurian, echinus, scallop, starfish] [海参, 海胆, 扇贝, 海星] 4个类 通过PYQT构建UI界面&#xff0c;包含图片检测&#xff0c;视…

【git】在服务器使用docker设置了一个gogs服务器,访问和现实都不理想

以下问题应该都可以通过设置custom/conf/app.ini来解决 配置文档参考地址:https://www.bookstack.cn/read/gogs_zh/advanced-configuration_cheat_sheet.md domain显示的事localhost&#xff0c;实际上应该是一个IP地址。 关键字&#xff1a; DOMAIN ROOT_URL 因为是docker…

统一门户单点登入(C#-OOS机制)

1.非自研系统 通过接口&#xff0c;获取第三方系统token&#xff0c;存redis缓存&#xff0c;设计跳转配置&#xff0c;根据获取的配置路由等用户信息来访问第三方系统免登录。&#xff08;登入校验在第三方系统实现&#xff09;/// <summary> /// 获取OA登录Token /// …

Julia语言的软件工程

Julia语言的软件工程探讨 引言 随着科技的迅猛发展&#xff0c;编程语言的发展也日新月异。在众多编程语言中&#xff0c;Julia作为一门新兴语言&#xff0c;以其高性能、易用性&#xff0c;以及强大的科学计算能力&#xff0c;逐渐吸引了大量开发者和研究人员的关注。本文旨…

web-前端小实验4

实现以上图片中的内容 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>用户注册</title&…

网站自动签到

我研究生生涯面临两个问题&#xff0c;一是写毕业论文&#xff0c;二是找工作&#xff0c;这两者又有很大的冲突。怎么解决这两个冲突呢&#xff1f;把python学好是一个路子&#xff0c;因此从今天我要开一个专栏就是学python 其实我的本意不是网站签到&#xff0c;我喜欢在起点…

【MATLAB第112期】基于MATLAB的SHAP可解释神经网络回归模型(敏感性分析方法)

【MATLAB第112期】基于MATLAB的SHAP可解释神经网络回归模型&#xff08;敏感性分析方法&#xff09; 引言 该文章实现了一个可解释的神经网络回归模型&#xff0c;使用BP神经网络&#xff08;BPNN&#xff09;来预测特征输出。该模型利用七个变量参数作为输入特征进行训练。为…

F.interpolate函数

F.interpolate 是 PyTorch 中用于对张量&#xff08;通常是图像数据&#xff09;进行插值操作的函数&#xff0c;常用于调整张量的大小&#xff0c;例如改变图像的分辨率。它支持多种插值方法&#xff0c;包括最近邻插值、双线性插值和三次插值等。 语法 torch.nn.functional…

iOS 本地新项目上传git仓库,并使用sourceTree管理

此文记录的场景描述&#xff1a; iOS前期开发时&#xff0c;在本地创建项目&#xff0c;直至开发一段时间&#xff0c;初期编码及框架已完善后&#xff0c;才拿到git仓库的地址。此时需要将本地代码上传到git仓库。 上传至git仓库&#xff0c;可以使用终端&#xff0c;键入命令…

为深度学习引入张量

为深度学习引入张量 什么是张量&#xff1f; 神经网络中的输入、输出和转换都是使用张量表示的&#xff0c;因此&#xff0c;神经网络编程大量使用张量。 张量是神经网络使用的主要数据结构。 张量的概念是其他更具体概念的数学概括。让我们看看一些张量的具体实例。 张量…

欧拉公式和傅里叶变换

注&#xff1a;英文引文机翻&#xff0c;未校。 中文引文未整理去重&#xff0c;如有异常&#xff0c;请看原文。 Euler’s Formula and Fourier Transform Posted byczxttkl October 7, 2018 Euler’s formula states that e i x cos ⁡ x i sin ⁡ x e^{ix} \cos{x} i …