zoukankan      html  css  js  c++  java
  • 四、数据存入excel

    实现从eclipse向excel中存储数据

    首先我们要先了解excel的文件层次:

    Excel文件->工作表->行->单元格

    对应到POI中,为:

    workbook->sheet->row->cell

    1.需要先下载POI包

    下载链接:http://poi.apache.org/download.html

     

     下载完成后解压文件夹

    2.在eclipse中新建项目后导入POI包

    3.新建一个Row_Cell类(存放excel的行和列)

    分别生成对应的set和get方法。

    4.新建一个toExcel类(实现数据存入excel中)

    定义我们所需要的变量:

        //excel存放路径
        public static String outputFile = "C:\Somture_Test\b5_test.xls";
        //Excel文件
        HSSFWorkbook workbook;
        //工作表
        HSSFSheet sheet;
        //
        HSSFRow row;
        //单元格
        HSSFCell cell;
        //时间
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
        String time;
        //Row_Cell对象
        Row_Cell rc;

    在toExcel的构造方法中实例化workbook,sheet,rc,例如:

            workbook = new HSSFWorkbook();
            sheet = workbook.createSheet("电流-电压-时间");
            rc = new Row_Cell();

    在回调消息类中的messageArrived方法中将要存的数据传入toExcel的write_Excel(String I, Row_Cell row_cell)中

            //获取当前时间
            time = new String(df.format(System.currentTimeMillis()));
    
            //数据的分隔符
            String[] datas = I.split("--");
    
            int rrow = rc.getRow();//
            int ccell = rc.getCell();//
            int k = rc.getK();
            boolean flag = rc.isFlag();

     进行判断:

    若flag是false,则将flag设置成true

    若flag是true,则存入信息

                row=sheet.createRow( (short)rrow);
                cell=row.createCell( (short)ccell++);
                //设置单元格内容
                cell.setCellValue(datas[0]);
                cell=row.createCell( (short)ccell++);
                cell.setCellValue(datas[1]);
                cell=row.createCell( (short)ccell++);
                cell.setCellValue(datas[2]);
                cell=row.createCell( (short)ccell++);
                cell.setCellValue(datas[3]);
    
                cell=row.createCell( (short)10);
                cell.setCellValue(time);
    
                ccell = ccell-4;
                
                rc.setRow(++rrow);
                rc.setCell(ccell);
                rc.setK(k);
                rc.setFlag(flag);
    
                // 新建一输出文件流
                FileOutputStream fOut = new FileOutputStream(outputFile);
                // 把相应的Excel 工作簿存盘
                workbook.write(fOut);
                fOut.flush();
                // 操作结束,关闭文件
                fOut.close();
                System.out.println("文件生成...");

    以上便是将消息以四列的格式存入excel中

  • 相关阅读:
    PIL库,图像处理第三方库
    文件指针
    机器学习之KNN---k最近邻算法-机器学习
    python 中的内置高级函数
    sklearn中standardscaler中fit_transform()和transform()有什么区别,应该怎么使用?
    python中导入sklearn中模块提示ImportError: DLL load failed: 找不到指定的程序。
    pandas中读取文件报错
    beacon帧字段结构最全总结(一)——beacon基本结构
    python中实例方法,类方法,静态方法简单理解
    一种logging封装方法,不会产生重复log
  • 原文地址:https://www.cnblogs.com/Somture478/p/11856074.html
Copyright © 2011-2022 走看看