POI 3.17 导出样式(与3.9方式不同)

本文详细介绍如何使用Java操作Excel文件,包括创建工作簿、创建SHEET页、设置单元格样式、字体、边框、背景及调整宽度和高度等。通过具体代码示例,帮助读者快速掌握Java进行Excel文件读写的方法。

HSSFWorkbook workbook = new HSSFWorkbook(); //创建工作簿
HSSFSheet sheet = workbook.createSheet(“Test”); //创建SHEET页
HSSFRow row = sheet.createRow(0); //创建行,从0开始
HSSFCell cell = row.createCell(0);//创建列,从0开始
cell.setCellValue(“姓名”);

设置样式

HSSFCellStyle style = workbook.createCellStyle();

加边框

style.setBorderBottom(BorderStyle.THIN);//下边框
style.setBorderLeft(BorderStyle.THIN);//左边框
style.setBorderRight(BorderStyle.THIN);//右边框
style.setBorderTop(BorderStyle.THIN); //上边框

居中

style.setAlignment(HorizontalAlignment.CENTER);//水平居中
style.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中

设置字体

HSSFFont font = workbook.createFont();
font.setFontName(“华文行楷”);//设置字体名称
font.setFontHeightInPoints((short)28);//设置字号
font.setItalic(false);//设置是否为斜体
font.setBold(true);//设置是否加粗
font.setColor(IndexedColors.RED.index);//设置字体颜色
style.setFont(font);

设置背景

style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
style.setFillForegroundColor(IndexedColors.YELLOW.index);

设置宽度和高度

row.setHeightInPoints(30);//设置行的高度
sheet.setColumnWidth(0, 20 * 256);//设置列的宽度

渲染单元格

cell.setCellStyle(style);

转载于:https://www.cnblogs.com/123-shen/p/11284563.html

### 使用 Apache POI 3.17 导出 Word 文档中的图片 为了从 Word 文档中提取图片,可以利用 `XWPFDocument` 类来解析 `.docx` 文件,并遍历其中的嵌入式对象以找到图像资源。下面是一个完整的 Java 方法用于此目的: ```java import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFPictureData; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.List; public class ExtractImagesFromDocx { public static void extractImages(String docxFilePath, String outputDirPath) throws Exception { try (FileInputStream fis = new FileInputStream(docxFilePath); XWPFDocument document = new XWPFDocument(fis)) { List<XWPFPictureData> pictures = document.getAllPictures(); if (pictures != null && !pictures.isEmpty()) { int count = 0; for (XWPFPictureData picture : pictures) { byte[] data = picture.getData(); String extension = "." + picture.suggestFileExtension(); FileOutputStream fos = new FileOutputStream(outputDirPath + "/image_" + (++count) + extension); fos.write(data); fos.close(); } } else { System.out.println("No images found."); } } } } ``` 这段代码展示了如何打开一个指定路径下的 `.docx` 文件,并从中读取所有的图片数据[^2]。对于每一个发现的图片,程序会将其保存至给定的目标目录下,命名为 `image_编号.扩展名` 的形式。 需要注意的是,在实际应用时应确保目标文件夹存在并且应用程序有权限写入该位置;另外还需考虑异常处理机制以便更好地应对可能出现的各种错误情况。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值