[Java]通过Poi包读取Excel表格

简介: public List readCardExcel() throws IOException { XSSFWorkbook hssfWorkbook = new XSSFWorkbook(new FileInputStream("D:\\buyal\\名片总和.
public List<EntBusinessCard> readCardExcel() throws IOException {
        XSSFWorkbook hssfWorkbook = new XSSFWorkbook(new FileInputStream("D:\\buyal\\名片总和.xlsx"));

        EntBusinessCard card = null;
        List<EntBusinessCard> list = new ArrayList<EntBusinessCard>();

        for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++){
            XSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);

            if(hssfSheet == null){
                continue;
            }

            for(int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++){
                XSSFRow hssfRow = hssfSheet.getRow(rowNum);

                if(hssfRow != null){
                    card = new EntBusinessCard();
                    card.setProperty(hssfRow.getCell(0) == null ?"":getValue(hssfRow.getCell(0)));
                    card.setRole(hssfRow.getCell(1) == null ?"":getValue(hssfRow.getCell(1)));
                    card.setName(hssfRow.getCell(2) == null ?"":getValue(hssfRow.getCell(2)));
                    card.setDirect(hssfRow.getCell(3) == null ?"":getValue(hssfRow.getCell(3)));
                    card.setPostcode(hssfRow.getCell(4) == null ?"":getValue(hssfRow.getCell(4)));
                    card.setRealaddress(hssfRow.getCell(5) == null ?"":getValue(hssfRow.getCell(5)));
                    card.setEnttype(hssfRow.getCell(6) == null ?"":getValue(hssfRow.getCell(6)));
                    card.setLine(hssfRow.getCell(7) == null ?"":getValue(hssfRow.getCell(7)));
                    card.setMainproduct(hssfRow.getCell(8) == null ?"":getValue(hssfRow.getCell(8)));
                    card.setMainproductpic(hssfRow.getCell(9) == null ?"":getValue(hssfRow.getCell(9)));
                    card.setScale(hssfRow.getCell(10) == null ?"":getValue(hssfRow.getCell(10)));
                    card.setUrl(hssfRow.getCell(11) == null ?"":getValue(hssfRow.getCell(11)));
                    card.setFax(hssfRow.getCell(12) == null ?"":getValue(hssfRow.getCell(12)));
                    card.setWorkshopstatus(hssfRow.getCell(13) == null ?"":getValue(hssfRow.getCell(13)));
                    card.setCapacity(hssfRow.getCell(14) == null ?"":getValue(hssfRow.getCell(14)));
                    card.setContract(hssfRow.getCell(15) == null ?"":getValue(hssfRow.getCell(15)));
                    card.setTele(hssfRow.getCell(17) == null ?"":getValue(hssfRow.getCell(17)));
                    card.setEmail(hssfRow.getCell(18) == null ?"":getValue(hssfRow.getCell(18)));
                    card.setIntroduce(hssfRow.getCell(19) == null ?"":getValue(hssfRow.getCell(19)));

                    list.add(card);
                }
            }

        }
        return list;
    }

getValue()

    public String getValue(XSSFCell hssfCell){
        if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
            // 返回布尔类型的值
            return String.valueOf(hssfCell.getBooleanCellValue());
        } else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
            // 返回数值类型的值
            return String.valueOf(hssfCell.getNumericCellValue());
        } else {
            // 返回字符串类型的值
            return String.valueOf(hssfCell.getStringCellValue());
        }
    }

EntBusinessCard 类

public class EntBusinessCard {
    private String property;
    private String role;
    private String name;
    private String direct;
    private String postcode;
    private String realaddress;
    private String enttype;
    private String line;
    private String mainproduct;
    private String mainproductpic;
    private String scale;
    private String url;
    private String fax;
    private String workshopstatus;
    private String capacity;
    private String contract;
    private String tele;
    private String email;
    private String introduce;

getter()。。。
setter()。。。
}
目录
相关文章
|
8月前
|
消息中间件 算法 安全
JUC并发—1.Java集合包底层源码剖析
本文主要对JDK中的集合包源码进行了剖析。
|
4月前
|
移动开发 JavaScript
(H5查看CAD)网页CAD提取图纸表格到excel
本文介绍如何通过自定义MxCAD插件,在Web端智能识别CAD图纸中的表格,实现自动合并与高效导出至Excel,提升数据提取效率与准确性。内容涵盖区域选择、图形识别、表格结构重建、单元格合并及内容导出等关键技术,适用于工程图纸数据自动化处理场景。
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
907 5
|
9月前
|
JavaScript 前端开发 数据可视化
20.6K star!Excel级交互体验!这款开源Web表格神器绝了!
Handsontable 是一款功能强大的 JavaScript 数据表格组件,提供类 Excel 的交互体验。支持实时协作、数据绑定、公式计算等企业级功能,可轻松集成到 React/Vue/Angular 等主流框架。
1663 11
|
9月前
|
前端开发 JavaScript Java
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
397 17
|
9月前
|
人工智能 数据可视化 前端开发
Probly:开源 AI Excel表格工具,交互式生成数据分析结果与可视化图表
Probly 是一款结合电子表格功能与 Python 数据分析能力的 AI 工具,支持在浏览器中运行 Python 代码,提供交互式电子表格、数据可视化和智能分析建议,适合需要强大数据分析功能又希望操作简便的用户。
1215 2
|
Java Android开发
Eclipse 创建 Java 包
Eclipse 创建 Java 包
204 1
|
SQL 数据可视化 数据挖掘
想让Excel表格设计更美观?试试这几款好用工具!
Excel表格设计在项目管理和数据分析中至关重要。本文推荐四款辅助工具:板栗看板、Excel自动图表助手、Think-Cell Chart 和 Power BI,分别在任务管理、图表生成、数据可视化等方面表现突出,帮助你设计出更专业、美观的表格。
1240 2
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
836 6
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
970 0
Java/Spring项目的包开头为什么是com?