网站首页 > java教程 正文
本文讲解内容,使用Java程序,批量读取指定文件夹中的文件名称,生成Excel表格!
1、原来文件的格式
2、Java代码如下
- 生成表头方法
public static void createTitle(HSSFWorkbook workbook, HSSFSheet sheet) {
HSSFRow row = sheet.createRow(0);
//列宽,第一个参数为第几列,第二个参数是宽度,基本单位为1/256个字符宽度
//要想得到准确的值,按下面方式直接写就可以
sheet.setColumnWidth(0, (int) (20 + 0.72) * 256);//实际宽度为20
sheet.setColumnWidth(1, (int) (30 + 0.72) * 256);//实际宽度为30
//设置表头格式
HSSFCellStyle style = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
//表头文字加粗
font.setBold(true);
//表头居中
style.setAlignment(HorizontalAlignment.CENTER);
style.setFont(font);
//设置表头
HSSFCell cell;
cell = row.createCell(0);//标明第几列
cell.setCellValue("字名");
cell.setCellStyle(style);
cell = row.createCell(1);
cell.setCellValue("书法家");
cell.setCellStyle(style);
cell = row.createCell(2);
cell.setCellValue("书体");
cell.setCellStyle(style);
cell = row.createCell(3);
cell.setCellValue("朝代");
cell.setCellStyle(style);
cell = row.createCell(4);
cell.setCellValue("来源");
cell.setCellStyle(style);
cell = row.createCell(5);
cell.setCellValue("文件格式");
cell.setCellStyle(style);
}
- 生成Excel文件方法
/**
* 生成Excel文件
*
* @param filename 文件名
* @param workbook 表格输出工具
* @throws Exception 输入异常
*/
public static void buildExcelFile(String filename, HSSFWorkbook workbook) throws Exception {
FileOutputStream fos = new FileOutputStream(filename);
workbook.write(fos);
workbook.close();
}
- 将指定文件夹中的数据导入Excel并输入表格文件
/**
* 将指定文件夹中的数据导入Excel并输入表格文件
*
* @param path 指定文件夹位置
* @throws Exception 异常输出
*/
public static void importData(String path) throws Exception {
//指定文件夹文件
File file = new File(path);
//list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组
//listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组
File[] fs = file.listFiles();
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("字库表");
createTitle(workbook, sheet);
int rowNum = 1;
for (File f : fs) {
//java中的isDirectory()是检查一个对象是否是文件夹。返回值是boolean类型的。如果是则返回true,否则返回false。
if (!f.isDirectory()) {
String s = f.getName();
//split():字符串分隔符,默认加“\\”,这里的意思就是文件名被“_”分开
String[] strArr = s.split("\\_");
HSSFRow row = sheet.createRow(rowNum);
for (int i = 0; i < strArr.length; i++) {
row.createCell(i).setCellValue(strArr[i]);
}
rowNum++;
}
}
//输出表格位置
String fileName = "D:\\file\\字库.xls";
//生成Excel文件
buildExcelFile(fileName, workbook);
System.out.println("生成完成");
}
- 主方法测试
public static void main(String[] args) throws Exception {
try {
String path = "D:\\test\\files";
importData(path);
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
- 导包
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import java.io.File;
import java.io.FileOutputStream;
3、运行成功后结果
所有你想象的一切,皆是现实!
猜你喜欢
- 2024-09-21 如何把excel表格处理成json数据(jason转excel)
- 2024-09-21 一个读Excel数据的小例子,提供给爱学习的Java后端开发
- 2024-09-21 快速将Excel、CSV等格式文件数据转换到java对象
- 2024-09-21 GitHub Star 8800+ 的阿里开源的 Java 解析 Excel 工具
- 2024-09-21 还在重复劳动?不如用Python自动生成Excel以邮件发送
- 2024-09-21 Java8如何让Excel的读写变得更加简单高效
- 2024-09-21 java打印Excel表格(java输出excel表格)
- 2024-09-21 整理关于java写入内容到excel的例子供大家参考
- 2024-09-21 JavaAPI开发(3)POI——如何将List转换为excel文件
- 2024-09-21 SpringBoot整合JXLS实现导出复杂excel报表
你 发表评论:
欢迎- 最近发表
-
- class版本不兼容错误原因分析(class更新)
- 甲骨文Oracle公司为Java的最新LTS版本做出改进
- 「版本发布」Minecraft Java开发版 1.19.4-pre1 发布
- java svn版本管理工具(svn软件版本管理)
- 我的世界1.8.10钻石在第几层(我的世界1.7.2钻石在哪层)
- Java开发高手必备:在电脑上轻松切换多个JDK版本
- 2022 年 Java 开发报告:Java 8 八年不到,开发者都在用什么?
- 开发java项目,选择哪个版本的JDK比较合适?
- Java版本选型终极指南:8 vs 17 vs 21特性对决!大龄程序员踩坑总结
- POI Excel导入(poi excel导入附件)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)