专业的JAVA编程教程与资源

网站首页 > java教程 正文

【Java程序】读取指定路径下文件夹中的文件名,生成Excel表格!

temp10 2024-09-21 03:57:45 java教程 8 ℃ 0 评论

本文讲解内容,使用Java程序,批量读取指定文件夹中的文件名称,生成Excel表格!

1、原来文件的格式

2、Java代码如下

  1. 生成表头方法
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);
    }
  1. 生成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();
}
  1. 将指定文件夹中的数据导入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("生成完成");
    }
  1. 主方法测试
public static void main(String[] args) throws Exception {
        try {
            String path = "D:\\test\\files";
            importData(path);
        } catch (Exception e) {
            throw new RuntimeException(e.getMessage());
        }
  }
  1. 导包
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.HorizontalAlignment;

import java.io.File;
import java.io.FileOutputStream;

3、运行成功后结果

所有你想象的一切,皆是现实!

【Java程序】读取指定路径下文件夹中的文件名,生成Excel表格!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表