# office-doc-process **Repository Path**: ch_wangzi/office-doc-process ## Basic Information - **Project Name**: office-doc-process - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-10 - **Last Updated**: 2025-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # office-doc-process 这是一个基于 Spring Boot 的项目,用于处理 Office 文档,特别是生成 Excel 文件并提供下载功能。该项目可以作为企业内部系统中导出数据为 Excel 文件的基础框架。 ## 功能特性 - 提供 Excel 文件的生成和下载功能。 - 支持通过 REST 接口导出数据。 - 支持为不同的 Sheet 页配置下拉菜单。 - 使用 `@ExcelProperty` 注解定义 Excel 表头信息。 - 提供通用的 Excel 处理工具类。 ## 项目结构 - **Controller 层**:`CompanyInfoController` 提供了对外的 REST 接口。 - **Service 层**:`CompanyInfoServiceImpl` 实现了 Excel 文件的生成逻辑。 - **POJO**:包含 `ExcelInfoBO` 和 `SheetInfo` 用于封装 Excel 文件的元信息,`DepartmentInfoVO` 和 `EmployeeVO` 用于定义 Excel 数据模型。 - **Excel 处理**:`DeptSheetWriteHandler` 和 `EmpSheetWriteHandler` 实现了 `SheetWriteHandler` 接口,用于处理 Excel 的 Sheet 页。 - **工具类**:`ExcelUtil` 提供了通用的 Excel 处理方法。 ## 快速开始 ### 环境要求 - Java 8 或更高版本 - Maven 3.x - Spring Boot 2.x ### 构建与运行 1. 克隆项目: ```bash git clone https://gitee.com/ch_wangzi/office-doc-process.git ``` 2. 进入项目目录并构建: ```bash cd office-doc-process mvn clean package ``` 3. 启动应用: ```bash java -jar target/office-doc-process.jar ``` 4. 访问接口: 打开浏览器或使用 Postman 访问以下接口以导出 Excel 文件: ``` GET http://localhost:8080/export/company ``` ## 使用示例 ### 导出 Excel 文件 访问 `/export/company` 接口,该接口会调用 `CompanyInfoService` 生成 Excel 文件并返回给客户端进行下载。 ### 自定义 Excel 数据 你可以通过修改 `CompanyInfoServiceImpl` 中的逻辑,自定义 `ExcelInfoBO` 和 `SheetInfo` 来导出不同的数据。 ## 扩展性 - **添加新的 Excel 模板**:只需创建新的 `SheetWriteHandler` 实现类,并在 `ExcelInfoBO` 中配置即可。 - **支持更多数据格式**:可以扩展 `ExcelUtil` 类以支持更多 Excel 操作,如样式设置、公式等。 ## 贡献指南 欢迎贡献代码和改进文档。请遵循以下步骤: 1. Fork 项目。 2. 创建新分支 (`git checkout -b feature/new-feature`)。 3. 提交更改 (`git commit -am 'Add some feature'`)。 4. 推送分支 (`git push origin feature/new-feature`)。 5. 提交 Pull Request。 ## 许可证 本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。